簡體   English   中英

在 Android 上,如何使用代碼區分使用相同庫的免費應用程序和付費應用程序

[英]On Android, how to use code to distinguish free app vs paid app using the same library

我發現這篇關於使用庫進行付費與免費的文章。 它特別提到了以下內容:“可能有一個 boolean 資源指示付費或免費狀態,可以通過庫項目中的代碼進行測試,並相應地打開或關閉功能。通常庫項目將具有默認的付費狀態值資源,免費版本會將其覆蓋為免費值。” 我怎樣才能制作一個可以在免費版本中覆蓋的 boolean? 基本上我怎么能在我的公共庫代碼中做一些事情,如果應用程序是免費版本然后顯示廣告?

一種方法是使用字符串資源文件——因為這些值是“級聯的”。

庫代碼被復制到免費和付費項目中,並在該項目的上下文中運行,這意味着它首先查看“本地”字符串資源。

只要您還在庫項目中指定該字符串資源名稱,它將編譯但在執行時使用更多“本地”值。

在您的庫項目中,在 res/values/strings.xml 中指定一個名為“paid”的字符串

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources>
    <string name="app_name">My app</string>
    <string name="paid">false</string>
</resources>

在您的免費項目中,指定:

<string name="paid">false</string>

在您的付費項目中,指定:

<string name="paid">true</string>

您現在可以在您的庫項目中訪問它:

boolean paid = Boolean.parseBoolean(getString(R.string.paid));

當你運行免費項目時它會報告 False,當你運行付費項目時它會報告 True。

然后你只需要檢查 boolean 並分支...

if(!paid) {
  //show an ad (or whatever)
}

if(paid) {
  //load more game levels (or whatever)
}

不僅是Android。 這是其他平台的正常情況。 您可以將您的信息存儲在用戶的設備或您的服務中(如果您有網站)。 然后在用戶使用應用程序時檢查它。

在 Android 上,您可以使用SharedPreferences

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM