プッシュ SDK の統合後、クライアントを次のように設定できます。
前提条件
このトピックの
MPPushMsgServiceAdapterメソッドは、ベースラインバージョン 10.1.68.32 以降にのみ適用されます。現在のベースラインバージョンが 10.1.68.32 より前の場合は、「mPaaS アップグレードガイド」を参照して、ベースラインバージョンをアップグレードしてください。古いバージョンの
AliPushRcvServiceメソッドは引き続き使用できます。ここをクリック して、古いバージョンのドキュメントをダウンロードしてください。
角マークをクリアする
ベンダーチャネル経由で受信したメッセージの場合、メッセージの数はアプリのアイコンに表示できます。現在、プッシュ SDK は Huawei チャネルのみをサポートして、角マークを自動的にクリアします。
ユーザーが通知をクリックしたときにアプリケーションの角を自動的にクリアするように設定します。
// データを自動的にクリアするかどうかを指定します。 boolean autoClear = true; MPPush.setBadgeAutoClearEnabled(context, autoClear); // アプリケーションのエントリ Activity クラス名を設定します。このパラメータを設定しないと、角マークをクリアできません。 String activityName = "com.mpaas.demo.push.LauncherActivity"; MPPush.setBadgeActivityClassName(context, activityName);角マークを自動的にクリアできないシナリオ(たとえば、ユーザーがアプリケーションアイコンをアクティブにクリックしてアプリケーションに入った場合)では、
Applicationで次のメソッドを呼び出して、角マークをアクティブにクリアできます。MPPush.clearBadges(context);
ベンダーチャネルトークンをレポートする
ベンダーチャネルに接続している場合、プッシュ SDK は初期化後にベンダーチャネルのトークンを受信します。プッシュ SDK は、レポートのためにベンダーチャネルトークンとユーザーが作成したチャネルトークンを自動的にバインドします。
必要に応じて、MPPushMsgServiceAdapter の onChannelTokenReceive メソッドと onChannelTokenReport メソッドを書き換えることで、ベンダーチャネルトークンの発行とレポートをリッスンできます。
public class MyPushMsgService extends MPPushMsgServiceAdapter {
/**
* 受信したベンダーチャネルトークンのコールバック
*
* @param channelToken ベンダーチャネルのトークン。
* @param channel ベンダーチャネルのタイプ。
*/
@Override
protected void onChannelTokenReceive(String channelToken, PushOsType channel) {
Log.d("Received vendor channel token: " + channelToken);
Log.d("Vendor: " + channel.getName());
}
/**
* ベンダーチャネルトークンレポート結果のコールバック
*
* @param result レポート結果。
*/
@Override
protected void onChannelTokenReport(ResultBean result) {
Log.d("Report vendor token " + (result.success ? "Success" : ("Error:" + result.code)));
}
/**
* ベンダートークンが自動的にレポートされるかどうかを示します。
*
* @return 戻り値は false で、必要に応じてレポートできます。
*/
@Override
protected boolean shouldReportChannelToken() {
return super.shouldReportChannelToken();
}
}レポートをバインドする必要がある場合は、shouldReportChannelToken メソッドをオーバーライドして false を返し、2 つのトークンを受信したことを確認した後に呼び出します。
MPPush.report(context, token , channel.value(), channelToken);カスタム NotificationChannel
セルフビルドチャネルの NotificationChannel の名前と説明をカスタマイズするには、AndroidManifest.xml に追加します。
<meta-data
android:name="mpaas.notification.channel.default.name"
android:value="名前" />
<meta-data
android:name="mpaas.notification.channel.default.description"
android:value="説明" /> プッシュチャネルの優先順位を調整する
ベースライン 10.2.3.43 以降では、特定のデバイスでベンダーチャネルの優先順位を調整できます。この機能を使用するには、プロジェクトの assets ディレクトリに mpaas_push_config.properties ファイルを作成し、必要に応じて有効にします。
Huawei/Honor デバイスで Honor チャネルを優先する
Huawei または Honor デバイスで Honor プッシュチャネルを優先的に使用する場合は、mpaas_push_config.properties ファイルに以下を追加します。
// Huawei /Honor デバイスで Honor チャネルの使用を優先する
isHonorBeforeHms=trueFCM プッシュ機能を備えたデバイスでデバイスベンダーチャネルの使用を優先する
FCM プッシュ機能を備えたデバイスでデバイスベンダーのチャネルを優先的に使用する場合は、mpaas_push_config.properties ファイルに以下を追加します。
// FCM プッシュ機能を備えたデバイスでは、デバイスベンダーのチャネルが最初に使用されます。
isFcmEnd=true