このトピックでは、Push SDK for Androidを統合する方法について説明します。
環境要件
項目 | 説明 |
开発ツール | Android Studioをお勧めします。 |
Android 版 | Android 5.0以降が必要です。 |
ステップ1: Android用プッシュSDKの統合
(推奨) MavenによるSDKの統合
プロジェクトのbuild.gradleファイルでMavenリポジトリのURLを指定します。
maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
アプリモジュールのbuild.gradleファイルの
dependencies
ブロックにSDKの依存関係を追加します。このトピックのSDKバージョンは参考用です。 SDKの最新バージョンを入手するには、「SDKのダウンロードとリリースノート」をご参照ください。
// Specify the SDK edition and version based on your business requirements. //1. Basic edition of Push SDK for Android. This edition does not support co-streaming. implementation 'com.alivc.pusher:AlivcLivePusher:6.17.0' //2. Interactive edition of Push SDK for Android. This edition supports co-streaming. implementation 'com.alivc.pusher:AlivcLivePusher_Interactive:6.17.0'
アプリケーションモジュールのbuild.gradleファイルで、アプリケーションのCPUアーキテクチャを指定します。
defaultConfig { ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8a" } }
SDKの手動統合
Push SDK for Androidパッケージをダウンロードして解凍します。
AARファイルをアプリモジュールのlibsフォルダーにコピーします。
プロジェクトのbuild.gradleファイルで、
allprojects
ブロックのリポジトリ
セクションにflatDir
設定を追加します。flatDir { dirs 'libs' }
アプリモジュールのbuild.gradleファイルの
dependencies
ブロックにAARファイルへの参照を追加します。dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
手順2: ライセンスの設定
Push SDK 4.4.2以降のバージョンは、オールインワンライセンスをサポートしています。 詳細については、「Push SDKライセンスの統合」をご参照ください。
ステップ3: アプリの権限を設定する
アプリモジュールのsrc/main/AndroidManifest.xmlファイルで必要な権限を設定します。
<!-- Used for network features -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- To check the network connection state of the device, you'll need to add the ACCESS_NETWORK_STATE permission. -->
<!-- This permission does not require user consent at runtime, but needs to be declared in the app's AndroidManifest.xml. -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- If the app needs to record audio, you need to declare the RECORD_AUDIO permission and request this permission at runtime -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- The application needs to access the device's camera -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission
android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30" />
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion="30" />
<!-- Needed only if your app communicates with already-paired Bluetooth devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<!-- Only used by Demo for accessing storage files -->
<!-- Storage permissions -->
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<!-- Access image files -->
<uses-permission
android:name="android.permission.READ_MEDIA_IMAGES"
android:minSdkVersion="33" />
<!-- Write audio files -->
<uses-permission
android:name="android.permission.READ_MEDIA_AUDIO"
android:minSdkVersion="33" />
<!-- Write video files -->
<uses-permission
android:name="android.permission.READ_MEDIA_VIDEO"
android:minSdkVersion="33" />
<!-- Only used by Demo for screen recording and streaming -->
<!-- Used for creating background tasks, not required by SDK -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- Requesting permission to create system overlay windows -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- Only used by Demo for muting -->
<!-- If this permission is not declared, the feature of automatically muting the stream during a phone call will not work -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
ステップ4: 難読化ルールの設定
アプリモジュールのproguard-rules.proファイルに難読化ルールを追加します。
-keep class org.webrtc.** { *; }
-keep class com.alivc.** { *; }
-keep class com.aliyun.** { *; }
-keep class com.cicada.** { *; }