この記事では、次の 3 つのステップを含む、OPPO プッシュのアクセスプロセスについて説明します。
OPPO プッシュを登録する
OPPO オープン プラットフォーム でアカウントを登録し、プッシュ サービスへのアクセスを申請します。詳細については、「OPPO プッシュ プラットフォーム ユーザー ガイド」をご参照ください。
OPPO プッシュに接続する
プッシュ OPPO コンポーネントを、プッシュ SDK を追加するのと同じ方法でインストールします。詳細については、「SDK を追加する」をご参照ください。 プッシュ OPPO コンポーネントには、適応コードのみが含まれており、OPPO プッシュ SDK は含まれていません。
OPPO SDK ドキュメント にアクセスして SDK をダウンロードし、メイン プロジェクトに統合します。現在の適応バージョンは
3.4.0です。より高いバージョンを使用する必要がある場合は、要件に応じて変更できます。一般的に、ベンダー SDK は下位互換性があります。互換性がない場合は、DingTalk グループ 41708565 に参加してフィードバックを行い、新しいバージョンの要件に適応させることができます。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="OPPO オープン プラットフォームでの取得" /> <meta-data android:name="com.oppo.push.app_secret" android:value="OPPO オープン プラットフォームでの取得" /> </application>難読化を使用するには、関連する難読化構成を追加します。
すべてのアクセス方法について OPPO プッシュ難読化ルール を追加する必要があります。
AAR アクセス方法を使用する場合は、mPaaS 難読化ルールを追加する 必要があります。
OPPO プッシュ バージョン
3.4.0を使用している場合は、次の依存関係を追加する必要があります。implementation 'commons-codec:commons-codec:1.15'
OPPO プッシュをテストする
OPPO プッシュが有効になったら、モバイルフォンでアプリケーションを起動し、初期化メソッドが呼び出されていることを確認します。詳細については、「メッセージ プッシュを初期化する」をご参照ください。プッシュ SDK は自動的に OPPO プッシュのベンダー トークンを取得し、トークンを報告します。
アプリケーション プロセスが強制終了されたときに、テスト メッセージをプッシュできます。
引き続きメッセージを受信できる場合は、アプリケーションは OPPO プッシュに正常に接続されています。
メッセージを受信できない場合は、次のように問題のトラブルシューティングを行います。
トラブルシューティング
AndroidManifest.xml構成が追加されているかどうか、およびcom.oppo.push.app_keyとcom.oppo.push.app_secretの値が OPPO オープン プラットフォームの値と一致するかどうかを確認します。mPaaS コンソールで OPPO チャンネルが有効になっているかどうかを確認します。詳細については、「OPPO プッシュ チャンネルを構成する」をご参照ください。
トラブルシューティングのために logcat ログを表示します。
プッシュ プロセスを選択し、
mPush.PushProxyFactoryをフィルタリングし、次のログが存在するかどうかを確認します。D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.oppo.Creatorpush- OPPO コンポーネントが使用できない場合は、push- OPPO コンポーネントを追加するときに問題が発生する可能性があります。 push- OPPO コンポーネントが追加されているかどうかを確認してください。
プッシュ プロセスを選択し、
mOPPOをフィルタリングし、OPPO によってプッシュされたベンダー トークンが取得されているかどうかを確認します。次のログが表示された場合(「OPPO onRegister error」または「responseCode」が 0 ではない)、OPPO プッシュの登録に失敗したことを示します。エラーコードについては、「OPPO プッシュ エラーコード」をご参照ください。エラーコード定義の説明セクションまでドロップダウンします。メイン プロセスを選択し、
report channel tokenをフィルタリングし、OPPO ベンダー トークンが正常に報告されているかどうかを確認します。次のログが表示された場合:report channel token error: xxxxこれは、ベンダー トークンの報告に失敗したことを示します。mPaaS 構成ファイル の
base64Codeに値があるかどうか、および構成ファイルを取得するときにアップロードされた apk 署名が現在のアプリケーションと一致するかどうかを確認してください。プッシュ プロセスを選択し、
mcssdkをフィルタリングし、OPPO プッシュの内部ログを表示します。
その他のよくある質問
OPPO プッシュはどのモデルとシステムバージョンをサポートしていますか?
現在、OPPO モデル、OnePlus 5/5T 以降、および realme モデルは、ColorOS 3.1 以降のシステムでサポートされています。
ColorOS は、OPPO によって開始された Android システムに基づいて詳細にカスタマイズおよび最適化された携帯電話 オペレーティング システムです。