訊息推送提供以下用戶端 API,具體描述見下表。
調用方式 | API | 描述 |
---|---|---|
RPC 調用 | 綁定使用者標識和裝置標識(Ad-token)。 | |
解除綁定使用者標識和裝置標識(Ad-token)。 | ||
綁定廠商通道裝置標識(Ad-token)。 |
mPaaS 中介層的 MPPush
類封裝了Alibaba Cloud Mobile Push組件所有 API,包括綁定、解除綁定以及廠商通道裝置上報等。上述介面方法的 PRC 調用通過移動網關 SDK 來實現。
綁定
方法定義
本方法用於綁定使用者標識和裝置標識。綁定完成後,可基於使用者維度推送訊息。本介面需要在子線程中進行調用。
public static ResultPbPB bind(Context ctx, String userId, String token)
參數說明
參數
類型
說明
ctx
Context
一個不為空白的
Context
。userId
String
使用者唯一標識,該標識不一定為接入方使用者系統中的真實標識,但一定可以與使用者形成一一映射關係。
token
String
由Alibaba Cloud Mobile Push網關下發的裝置標識。
傳回值
參數
說明
success
介面調用是否成功。
true:成功
false:失敗
code
操作結果碼,常見的操作結果碼及其含義參見下表。
name
操作結果碼的名稱。
message
操作結果碼對應的描述資訊。
結果碼說明
結果碼
結果碼名稱
訊息
說明
3012
NEED_USERID
need userid
調用介面時,入參
userId
為空白。3001
NEED_DELIVERYTOKEN
need token
調用介面時,入參
token
為空白。使用樣本
private void doSimpleBind() { final ResultPbPB resultPbPB = MPPush.bind(getApplicationContext(), mUserId, PushMsgService.mAdToken); handlePbPBResult("綁定使用者操作", resultPbPB); }
解除綁定
方法定義
本方法用於解除綁定使用者標識和裝置標識。本介面需要在子線程中進行調用。
public static ResultPbPB unbind(Context ctx, String userId, String token)
參數說明
參數
類型
說明
ctx
Context
一個不為空白的 Context。
userId
String
使用者唯一標識,該標識不一定為接入方使用者系統中的真實標識,但一定可以與使用者形成一一映射關係。
token
String
由Alibaba Cloud Mobile Push網關下發的裝置標識。
傳回值
調用本方法的傳回值同綁定介面的傳回值。
使用樣本
private void doSimpleUnBind() { final ResultPbPB resultPbPB = MPPush.unbind(getApplicationContext() , mUserId, PushMsgService.mAdToken); handlePbPBResult("解除綁定定使用者操作", resultPbPB); }
廠商通道裝置上報
方法定義
該方法用於同步綁定廠商通道裝置標識與本機裝置標識,即上報廠商通道裝置標識和 mPaaS 裝置標識(Alibaba Cloud Mobile Push網關下發的 Ad-token)至Alibaba Cloud Mobile Push核心,Alibaba Cloud Mobile Push核心將綁定這兩個標識。完成此過程後,方可使用廠商通道推送訊息。
架構內部會調用一次該方法,為避免 SDK 調用失敗,建議您再手動調用一次。
public static ResultPbPB report(Context context, String deliveryToken, int thirdChannel, String thirdChannelDeviceToken)
參數說明
參數
類型
說明
ctx
Context
一個不為空白的 Context。
deliveryToken
String
由Alibaba Cloud Mobile Push網關下發的裝置標識(Ad-token)。
thirdChannel
int
廠商通道。枚舉值如下:
2:蘋果
4:小米
6:FCM
7:OPPO
8:vivo
thirdChannelDeviceToken
String
廠商通道裝置標識
傳回值
調用本方法的傳回值同綁定介面的傳回值。
使用樣本
private void doSimpleUploadToken() { final ResultPbPB resultPbPB = MPPush.report(getApplicationContext(), PushMsgService.mAdToken , PushOsType.HUAWEI.value(), PushMsgService.mThirdToken); handlePbPBResult("廠商 push 標識上報操作", resultPbPB);
問題排查
如果通過 RPC 請求進行資源調用過程中出現異常,請參考 無線保鏢結果碼說明 進行排查。