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

Mobile Platform as a Service:Huawei プッシュ

最終更新日:Jan 22, 2026

このトピックでは、Huawei プッシュを統合するための 3 つのステップについて説明します。

  1. Huawei プッシュへの登録

  2. Huawei プッシュの統合

  3. Huawei プッシュのテスト

Huawei プッシュへの登録

Huawei Developers の公式サイトにログインし、アカウントを作成して、プッシュサービスを有効にします。詳細については、「Huawei プッシュを有効にする手順」をご参照ください。

Huawei プッシュの統合

Push SDK は、Huawei Mobile Services (HMS) 2 および HMS 5 との統合をサポートしています。これらのバージョンのうち、1 つのみを統合できます。

  • HMS 2 は古いバージョンです。新規に統合する場合は、HMS 5 を使用してください。

  • HMS 2 から HMS 5 にアップグレードする場合は、まず HMS 2 の AndroidManifest 構成を削除する必要があります。

Huawei プッシュの統合 - HMS 5.x バージョン

  1. Push - HMS5 コンポーネントを追加します。この方法は Push SDK の追加方法と同じです。詳細については、「Push SDK の追加」をご参照ください。

    説明

    Push - HMS5 コンポーネントにはアダプターコードのみが含まれ、HMS SDK は含まれていません。次の手順で説明するように、HMS SDK の依存関係を別途追加する必要があります。

  2. Huawei AppGallery Connect コンソールで、agconnect-services.json 設定ファイルをダウンロードし、アプリのメインプロジェクトの assets フォルダに配置します。

  3. プロジェクトのルートディレクトリにある build.gradle ファイルで、HMS SDK の Maven リポジトリのアドレスを設定します。

    allprojects {
     repositories {
         // 他のリポジトリは省略されています。
         maven {url 'https://developer.huawei.com/repo/'}
     }
    }
  4. メインプロジェクトの build.gradle ファイルに、HMS SDK の依存関係を追加します。

     dependencies {
         implementation 'com.huawei.hms:push:5.0.2.300'
     }
    • HMS SDK のバージョンは頻繁に更新されます。最新バージョンについては、「HMS SDK バージョン更新履歴」をご参照ください。

    • 現在対応しているバージョンは 5.0.2.300 です。必要に応じて、後のバージョンを使用するように変更できます。ベンダーの SDK は通常、下位互換性があります。互換性の問題が発生した場合は、DingTalk グループ 145930007362 に参加して、新しいバージョンのサポートをリクエストしてください。

  5. 難読化を使用するには、必要な難読化設定を追加します:

Huawei プッシュの統合 - HMS 2.x バージョン

  1. Push - Huawei 2 コンポーネントを追加します。この方法は Push SDK の追加方法と同じです。詳細については、「SDK の追加」をご参照ください。現在組み込まれている HMS 2 SDK のバージョンは 2.5.2.201 です。

  2. AndroidManifest.xml ファイルを設定し (コンポーネントベースの統合の場合は Portal プロジェクトに追加)、com.huawei.hms.client.appid の値を置き換えます。

     <activity
          android:name="com.huawei.hms.activity.BridgeActivity"
          android:configChanges="orientation|locale|screenSize|layoutDirection|fontScale"
          android:excludeFromRecents="true"
          android:exported="false"
          android:hardwareAccelerated="true"
          android:theme="@android:style/Theme.Translucent">
           <meta-data
              android:name="hwc-theme"
              android:value="androidhwext:style/Theme.Emui.Translucent" />
     </activity>
      <!-- 以前の DEX バージョンでのクラッシュを防ぐため、プロバイダーを動的に有効にします。enabled を false に設定します。-->
      <provider
           android:name="com.huawei.hms.update.provider.UpdateProvider"
           android:authorities="${applicationId}.hms.update.provider"
           android:exported="false"
           android:enabled="false"
           android:grantUriPermissions="true">
         </provider>
             <!-- value の "appid" を、Huawei Developers ウェブサイト上のアプリケーションのサービス詳細にある実際のアプリ ID に置き換えます。注意:バックスラッシュ (\) と値のスペースは保持してください。-->
       <meta-data
                 android:name="com.huawei.hms.client.appid"
                 android:value="\ your huawei appId" />
         <receiver
                 android:name="com.huawei.hms.support.api.push.PushEventReceiver"
                 android:exported="true"
                 >
                 <intent-filter>
                     <!-- チャンネルから通知メッセージを受信します。以前の PUSH バージョンと互換性があります。 -->
                     <action android:name="com.huawei.intent.action.PUSH" />
                 </intent-filter>
      </receiver>
    
       <receiver
                 android:name="com.alipay.pushsdk.thirdparty.huawei.HuaweiPushReceiver"
                 android:exported="true"
                 android:process=":push">
                 <intent-filter>
                     <!-- 必須。TOKEN の受信に使用されます。 -->
                     <action android:name="com.huawei.android.push.intent.REGISTRATION" />
                     <!-- 必須。メッセージの受信に使用されます。 -->
                     <action android:name="com.huawei.android.push.intent.RECEIVE" />
                     <!-- オプション。通知または通知内のボタンがクリックされたときに onEvent コールバックをトリガーします。 -->
                     <action android:name="com.huawei.android.push.intent.CLICK" />
                     <!-- オプション。PUSH チャンネルが接続されているか確認します。接続を確認する必要がない場合は不要です。 -->
                     <action android:name="com.huawei.intent.action.PUSH_STATE" />
                 </intent-filter>
        </receiver>
  3. 難読化を使用するには、必要な難読化設定を追加します:

Huawei プッシュのテスト

  1. Huawei プッシュを統合した後、Huawei スマートフォンでアプリケーションを起動し、初期化メソッドが呼び出されることを確認します。詳細については、「メッセージプッシュサービスの初期化」をご参照ください。Push SDK は、Huawei プッシュのベンダートークンを自動的に取得してレポートします。

  2. アプリケーションプロセスを強制終了した後、テストメッセージを送信します:

    • メッセージを受信した場合、Huawei プッシュとの統合は成功です。

    • メッセージを受信しない場合は、以下の手順に従って問題をトラブルシューティングしてください。

トラブルシューティング

  1. Huawei の設定とパラメーターが Huawei プッシュバックエンドのものと一致していることを確認します:

    • HMS 2 統合の場合、必要な設定が AndroidManifest.xml に追加されていること、および com.huawei.hms.client.appid の値が Huawei プッシュバックエンドの値と一致していることを確認します。

    • HMS 5 統合の場合、agconnect-services.json ファイルが存在し、正しい場所にあることを確認します。

  2. mPaaS コンソールで Huawei チャンネルが有効になっており、設定が Huawei プッシュバックエンドのものと一致していることを確認します。詳細については、「Huawei プッシュチャンネルの設定」をご参照ください。

  3. logcat ログを確認して問題をトラブルシューティングします:

    1. プッシュプロセスを選択し、mPush.PushProxyFactory でフィルターをかけます。次のログエントリを探します:

      D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.hms.Creator (HMS2)
      D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.hms5.Creator (HMS5)

      このログが存在しない場合、Push - Huawei 2 または Push - HMS5 コンポーネントの追加に問題がある可能性があります。コンポーネントが正しく追加されたことを確認してください。

    2. メインプロセスを選択し、mHMS でフィルターをかけます。Huawei プッシュのベンダートークンが取得されたかどうかを確認します。ログに get token failed と表示された場合、ベンダートークンの取得に失敗しています。エラーコードの詳細については、「Huawei プッシュのエラーコード」をご参照ください。

    3. メインプロセスを選択し、report channel token でフィルターをかけます。Huawei ベンダートークンが正常にレポートされたかどうかを確認します。次のログが表示された場合:

      report channel token error: xxxx

      このログは、ベンダートークンのレポートに失敗したことを示します。mPaaS 設定ファイル内の base64Code に値があること、および設定ファイルを取得した際にアップロードした APK 署名が現在のアプリケーションの署名と一致していることを確認してください。

その他の問題

EMUI および Huawei Mobile Services のバージョン制限

Huawei が Android をベースに開発したオペレーティングシステムである Emotion UI (EMUI) および Huawei Mobile Services にはバージョン制限があります。詳細なバージョン要件については、「デバイスが Huawei プッシュメッセージを受信するための条件」をご参照ください。

Huawei スマートフォンでログを印刷できない問題

スマートフォンのダイヤル画面で *#*#2846579#*#* を入力してプロジェクトメニューを開きます。[バックグラウンド設定] > [LOG 設定] に移動し、[AP ログ] を選択します。変更を有効にするには、スマートフォンを再起動する必要があります。