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

fob*_*ter 6 android manifest localytics

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

<meta-data android:name="LOCALYTICS_APP_KEY" android:value="APP KEY FROM STEP 2"/>
Run Code Online (Sandbox Code Playgroud)

从以下帖子看,似乎无法动态设置Android元数据.如何动态添加元数据(不在清单中但在代码内)?

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

deR*_*own 5

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

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

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

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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

对于基于产品的口味不同的应用程序键,只需更换debugrelease与你的产品的风味名以上.