APK Expansion Files / Obb 接入介绍
生活随笔
收集整理的這篇文章主要介紹了
APK Expansion Files / Obb 接入介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
APK Expansion Files / Obb 接入介紹
APK Expansion Files 是谷歌官方提供的APK分包下載策略, 依賴工程已經包含在SDK中.官方資料
- 文檔
使用方法
1. 導入依賴工程
依賴工程放在SDK文件夾中/SDK/extras/google/文件夾下, 需要依賴market_apk_expansion與market_licensing.
說明1: market_apk_expansion對market_licensing有依賴說明2: 如果出現Android App crashes on Lollipop - Service Intent must be explicit: [duplicate]類似的報錯, 請參照鏈接修改工程代碼licensing工程BUG
2. 打包OBB文件
- 官方文檔-使用JOBB打包OBB文件
3. 客戶端接入
OBB是通過谷歌后臺public key與包名進行資源匹配, 請確保這兩項正確.
繼承service, receiver
-
繼承 BroadcastReceiver
用于在游戲運行的時候檢查是否需要下載資源文件, 重寫`onReceive(Context, Intent)`方法, 示例@Overridepublic void onReceive(Context context, Intent intent) {try {DownloaderClientMarshaller.startDownloadServiceIfRequired(context,intent, SampleDownloaderService.class);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}} -
繼承DownloaderService
新建一個class, 繼承`DownloaderService`, 重寫了里面的三個方法, * `getPublicKey()`, 需要在return中返回游戲的`public key`. * `getSALT()`, 需要在return中返回SALT需要返回一個隨機字節數組, 格式如下public static final byte[] SALT = new byte[] { 1, 42, -12, -1, 54, 98, -100, -12, 43, 2, -8, -4, 9, 5, -106, -107, -33, 45, -1, 84}; * `getAlarmReceiverClassName()`返回之前繼承`BroadcastReceiver`的className, 示例@Overridepublic String getAlarmReceiverClassName() {return SampleAlarmReceiver.class.getName();}
AndroidManifest.xml相關配置
聲明權限:
<!-- Required to access Google Play Licensing --><uses-permission android:name="com.android.vending.CHECK_LICENSE" /><!-- Required to download files from Google Play --><uses-permission android:name="android.permission.INTERNET" /><!-- Required to keep CPU alive while downloading files(NOT to keep screen awake) --><uses-permission android:name="android.permission.WAKE_LOCK" /><!-- Required to poll the state of the network connectionand respond to changes --><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" /><!-- Required to check whether Wi-Fi is enabled --><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><!-- Required to read and write the expansion files on shared storage --><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />聲明service, receiver:<service android:name=".SampleDownloaderService" /><receiver android:name=".SampleAlarmReceiver" />下載Activity的配置
- onCreate中添加初始化代碼
示例
@Override
總結
以上是生活随笔為你收集整理的APK Expansion Files / Obb 接入介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区别用户使用的终端设备代码 转 http
- 下一篇: Spring Boot教程(三十四)整合