【发布时间】:2019-07-04 02:44:17
【问题描述】:
我有一个使用 android studio 制作的应用程序。目前,admob id 是在strings.xml 文件中定义的。但是,我想让应用程序从我的服务器或 firebase 获取 admob id,因为我希望能够在出现任何问题时远程更改它们。我该怎么做呢?
【问题讨论】:
标签: java firebase android-studio admob
我有一个使用 android studio 制作的应用程序。目前,admob id 是在strings.xml 文件中定义的。但是,我想让应用程序从我的服务器或 firebase 获取 admob id,因为我希望能够在出现任何问题时远程更改它们。我该怎么做呢?
【问题讨论】:
标签: java firebase android-studio admob
【讨论】:
您可以通过编程方式完成。
布局
在您的布局文件中,添加AdView:
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
检索广告单元 ID
设置广告单元 ID
在 Java 中
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); // Set ad unit id
在科特林中
val adView = AdView(this)
adView.adSize = AdSize.BANNER
adView.adUnitId = "ca-app-pub-3940256099942544/6300978111" // Set ad unit id
附加
根据您的持久性存储实现,这是使用SharedPreferences 保存广告单元 ID 的单一方法
PreferenceManager.getDefaultSharedPreferences(context).edit().putString("MY_AD_UNIT_ID", "YOUR_AD_UNIT_VALUE").apply();
这是你将如何检索它
PreferenceManager.getDefaultSharedPreferences(context).getString("MY_AD_UNIT_ID", "DEFAULT_STRING_IF_NOTHING_WAS_FOUND");
context 是您的上下文。
了解更多:
【讨论】:
有一个新的API that allows you to manage Firebase projects 并从中获取配置数据。这将是以编程方式查找此类配置数据的最合乎逻辑的地方。
我检查了projects.get 和projects.getAdminConfig,但还没有找到您要查找的ID。
如果该 ID 确实丢失,file a feature request 可能值得。
【讨论】: