Android(React Native CLI)
使用 Expo?
Config plugin 会自动完成以下所有步骤。
App ID
在 android/app/src/main/res/values/strings.xml 中添加 Zalo App ID:
xml
<resources>
<string name="zalokit_app_id"><YOUR_ZALO_APP_ID></string>
</resources>Manifest
在 android/app/src/main/AndroidManifest.xml 中添加 meta-data 和浏览器登录 activity:
xml
<application>
...
<meta-data
android:name="com.zing.zalo.zalosdk.appID"
android:value="@string/zalokit_app_id" />
<activity
android:name="com.zing.zalo.zalosdk.oauth.BrowserLoginActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 例如 zalo-1234567890 -->
<data android:scheme="zalo-<YOUR_ZALO_APP_ID>" />
</intent-filter>
</activity>
</application>这样就完成了。剩下的由 Zalo Kit 处理:
- 应用启动时初始化 SDK;
- 把 activity 收到的登录结果转交给 SDK;
- 自带 SDK 所需的 ProGuard / R8 keep 规则。
Zalo App 的 <queries> 声明已经包含在 SDK 自己的 manifest 里。
Zalo Maven 仓库
Zalo 只在自己的 Maven 仓库 https://gitlab.com/api/v4/projects/50747855/packages/maven 上发布新版 Android SDK(Maven Central 上最新只到 4.2.0724)。Zalo Kit 会自动把这个仓库加到你的 Gradle 项目中。
如果你的 settings.gradle 在 dependencyResolutionManagement 中声明仓库,需要自己把它加进去:
groovy
dependencyResolutionManagement {
repositories {
maven {
url "https://gitlab.com/api/v4/projects/50747855/packages/maven"
content { includeGroup "me.zalo" }
}
}
}SDK 版本
如需使用其他版本的 Zalo Android SDK,在 android/build.gradle 中设置:
groovy
buildscript {
ext {
zaloSdkVersion = "4.24.1101"
}
}