このトピックでは、OPPO プッシュを統合する方法について説明します。プロセスは主に 3 つのステップで構成されます。
OPPO プッシュの登録
OPPO オープンプラットフォームでアカウントを作成し、プッシュサービスを申請します。詳細については、「OPPO プッシュプラットフォームユーザーガイド」をご参照ください。
OPPO プッシュの統合
Push - OPPO コンポーネントをインストールします。インストールプロセスは、プッシュ SDK の追加と同じです。詳細については、「SDK の追加」をご参照ください。Push - OPPO コンポーネントにはアダプテーションコードのみが含まれており、OPPO プッシュ SDK は含まれていません。
OPPO SDK ドキュメントから SDK をダウンロードし、メインプロジェクトに統合します。現在サポートされているバージョンは
3.4.0です。新しいバージョンを使用するには、必要に応じて変更できます。通常、ベンダー SDK には下位互換性があります。互換性の問題が見つかった場合は、DingTalk グループ 145930007362 に参加して、新しいバージョンのサポートをリクエストしてください。AndroidManifest.xmlを構成します。コンポーネントベースの統合を使用する場合は、Portal プロジェクトに構成を追加します。com.oppo.push.app_keyとcom.oppo.push.app_secretの値を置き換えます。<uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE" /> <uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE"/> <application> <service android:name="com.heytap.msp.push.service.CompatibleDataMessageCallbackService" android:exported="true" android:permission="com.coloros.mcs.permission.SEND_MCS_MESSAGE" android:process=":push"> <intent-filter> <action android:name="com.coloros.mcs.action.RECEIVE_MCS_MESSAGE"/> </intent-filter> </service> <service android:name="com.heytap.msp.push.service.DataMessageCallbackService" android:exported="true" android:permission="com.heytap.mcs.permission.SEND_PUSH_MESSAGE" android:process=":push"> <intent-filter> <action android:name="com.heytap.mcs.action.RECEIVE_MCS_MESSAGE"/> <action android:name="com.heytap.msp.push.RECEIVE_MCS_MESSAGE"/> </intent-filter> </service> <meta-data android:name="com.oppo.push.app_key" android:value="Get from the OPPO Open Platform" /> <meta-data android:name="com.oppo.push.app_secret" android:value="Get from the OPPO Open Platform" /> </application>難読化を使用する場合は、次の難読化ルールを追加します。
すべての接続タイプに対して OPPO プッシュの難読化ルールを追加します。
AAR 接続タイプを使用する場合は、mPaaS の難読化ルールも追加します。
OPPO プッシュバージョン
3.4.0を使用する場合は、次の依存関係を追加します。implementation 'commons-codec:commons-codec:1.15'
OPPO プッシュのテスト
OPPO プッシュを統合した後、OPPO スマートフォンでアプリケーションを起動し、初期化メソッドが呼び出されることを確認します。詳細については、「メッセージプッシュサービスの初期化」をご参照ください。プッシュ SDK は、OPPO プッシュのベンダートークンを自動的に取得してレポートします。
アプリケーションプロセスを停止した後、テストメッセージをプッシュします。
メッセージを受信した場合、統合は成功です。
メッセージを受信しない場合は、以下の手順に従って問題をトラブルシューティングしてください。
問題のトラブルシューティング
AndroidManifest.xmlの構成が追加されていることを確認します。com.oppo.push.app_keyとcom.oppo.push.app_secretの値が OPPO オープンプラットフォーム上の値と一致することを確認します。mPaaS コンソールで、OPPO チャンネルが有効になっていることを確認します。詳細については、「OPPO プッシュチャンネルの設定」をご参照ください。構成が OPPO オープンプラットフォーム上の構成と一致することを確認します。
logcat ログを確認して問題をトラブルシューティングします。
プッシュプロセスを選択し、
mPush.PushProxyFactoryでフィルターをかけ、次のログエントリを探します。D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.oppo.Creatorこのログエントリが存在しない場合、Push - OPPO コンポーネントに問題がある可能性があります。正しく追加されていることを確認してください。
プッシュプロセスを選択し、
mOPPOでフィルターをかけます。OPPO プッシュのベンダートークンが取得されたかどうかを確認します。ログエントリに "OPPO onRegister error" または 0 以外の `responseCode` が含まれている場合、OPPO プッシュの登録は失敗しています。エラーコードの詳細については、「OPPO プッシュエラーコード」ドキュメントのエラーコード定義セクションをご参照ください。メインプロセスを選択し、
report channel tokenでフィルターをかけます。OPPO ベンダートークンが正常にレポートされたかどうかを確認します。次のログエントリが表示された場合:report channel token error: xxxxこれは、トークンのレポートが失敗したことを示します。mPaaS 設定ファイルの
base64Codeに値があることを確認してください。また、設定ファイルを取得するためにアップロードした APK 署名が、現在のアプリケーションの署名と一致することを確認してください。プッシュプロセスを選択し、
mcssdkでフィルターをかけ、OPPO プッシュの内部ログを表示します。
その他の質問
OPPO プッシュがサポートするモデルとシステムバージョン
OPPO プッシュは、ColorOS 3.1 以降を実行する OPPO モデル、OnePlus 5/5T 以降のモデル、およびすべての realme モデルをサポートします。
ColorOS は OPPO のモバイルオペレーティングシステムです。これは、Android オペレーティングシステムを高度にカスタマイズおよび最適化したバージョンです。