Localytics - 以编程方式设置应用密钥

时间:2015-02-19 22:11:26

标签: android manifest localytics

是否可以以编程方式为Localytics设置应用密钥?从集成指南(https://support.localytics.com/Android_SDK_integration)看来,您必须将其作为元数据在Manifest文件中设置。

<meta-data android:name="LOCALYTICS_APP_KEY" android:value="APP KEY FROM STEP 2"/>

从以下文章中,似乎无法动态设置Android元数据。 How to add metadata dynamically (Not in manifest but inside code)?

我希望能够根据Gradle buildType动态设置应用程序密钥,这样我就可以拥有一个发布应用程序密钥和一个调试应用程序密钥。

3 个答案:

答案 0 :(得分:5)

您可以使用清单合并来支持您的构建类型(例如调试与发布)或您的产品风格(例如免费与付费)的不同应用密钥。

支持您的构建类型的不同应用程序密钥:

  1. 创建src/debug/AndroidManifest.xmlsrc/release/AndroidManifest.xml
  2. src/main/AndroidManifest.xml
  3. 中删除元数据标记
  4. 将相应的元数据标记添加到特定于构建类型的清单。
  5. src/debug/AndroidManifest.xml

        <?xml version="1.0" encoding="utf-8"?>
        <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.example.app" >
    
            <application>
    
                <meta-data
                    android:name="LOCALYTICS_APP_KEY"
                    android:value="DEBUG_APP_KEY" />
    
            </application>
    
        </manifest>
    

    src/release/AndroidManifest.xml

        <?xml version="1.0" encoding="utf-8"?>
        <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.example.app" >
    
            <application>
    
                <meta-data
                    android:name="LOCALYTICS_APP_KEY"
                    android:value="RELEASE_APP_KEY" />
    
            </application>
    
        </manifest>
    

    根据您的产品口味,对于不同的应用键,只需将上面的debugrelease替换为您的产品口味名称。

答案 1 :(得分:2)

There is an override on Localytics.integrate that takes an api key.

Localytics.integrate(this, "API_KEY")

答案 2 :(得分:0)

如果您使用的是autoIntegrate,请使用以下API作为第一个参数。

Localytics.autoIntegrate(this, "API_KEY");