すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:高度な機能

最終更新日:Jan 17, 2025

プッシュ 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 は、レポートのためにベンダーチャネルトークンとユーザーが作成したチャネルトークンを自動的にバインドします。

必要に応じて、MPPushMsgServiceAdapteronChannelTokenReceive メソッドと 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=true

FCM プッシュ機能を備えたデバイスでデバイスベンダーチャネルの使用を優先する

FCM プッシュ機能を備えたデバイスでデバイスベンダーのチャネルを優先的に使用する場合は、mpaas_push_config.properties ファイルに以下を追加します。

// FCM プッシュ機能を備えたデバイスでは、デバイスベンダーのチャネルが最初に使用されます。
isFcmEnd=true