客戶端 API
消息推送提供以下客戶端 API,具體描述見(jiàn)下表。
調(diào)用方式 | API | 描述 |
---|---|---|
RPC 調(diào)用 | 綁定用戶標(biāo)識(shí)和設(shè)備標(biāo)識(shí)(Ad-token)。 | |
解綁用戶標(biāo)識(shí)和設(shè)備標(biāo)識(shí)(Ad-token)。 | ||
綁定廠商通道設(shè)備標(biāo)識(shí)(Ad-token)。 |
mPaaS 中間層的 MPPush
類(lèi)封裝了移動(dòng)推送組件所有 API,包括綁定、解綁以及廠商通道設(shè)備上報(bào)等。上述接口方法的 PRC 調(diào)用通過(guò)移動(dòng)網(wǎng)關(guān) SDK 來(lái)實(shí)現(xiàn)。
綁定
方法定義
本方法用于綁定用戶標(biāo)識(shí)和設(shè)備標(biāo)識(shí)。綁定完成后,可基于用戶維度推送消息。本接口需要在子線程中進(jìn)行調(diào)用。
public static ResultPbPB bind(Context ctx, String userId, String token)
參數(shù)說(shuō)明
參數(shù)
類(lèi)型
說(shuō)明
ctx
Context
一個(gè)不為空的
Context
。userId
String
用戶唯一標(biāo)識(shí),該標(biāo)識(shí)不一定為接入方用戶系統(tǒng)中的真實(shí)標(biāo)識(shí),但一定可以與用戶形成一一映射關(guān)系。
token
String
由移動(dòng)推送網(wǎng)關(guān)下發(fā)的設(shè)備標(biāo)識(shí)。
返回值
參數(shù)
說(shuō)明
success
接口調(diào)用是否成功。
true:成功
false:失敗
code
操作結(jié)果碼,常見(jiàn)的操作結(jié)果碼及其含義參見(jiàn)下表。
name
操作結(jié)果碼的名稱(chēng)。
message
操作結(jié)果碼對(duì)應(yīng)的描述信息。
結(jié)果碼說(shuō)明
結(jié)果碼
結(jié)果碼名稱(chēng)
消息
說(shuō)明
3012
NEED_USERID
need userid
調(diào)用接口時(shí),入?yún)?
userId
為空。3001
NEED_DELIVERYTOKEN
need token
調(diào)用接口時(shí),入?yún)?
token
為空。使用示例
private void doSimpleBind() { final ResultPbPB resultPbPB = MPPush.bind(getApplicationContext(), mUserId, PushMsgService.mAdToken); handlePbPBResult("綁定用戶操作", resultPbPB); }
解綁
方法定義
本方法用于解綁用戶標(biāo)識(shí)和設(shè)備標(biāo)識(shí)。本接口需要在子線程中進(jìn)行調(diào)用。
public static ResultPbPB unbind(Context ctx, String userId, String token)
參數(shù)說(shuō)明
參數(shù)
類(lèi)型
說(shuō)明
ctx
Context
一個(gè)不為空的 Context。
userId
String
用戶唯一標(biāo)識(shí),該標(biāo)識(shí)不一定為接入方用戶系統(tǒng)中的真實(shí)標(biāo)識(shí),但一定可以與用戶形成一一映射關(guān)系。
token
String
由移動(dòng)推送網(wǎng)關(guān)下發(fā)的設(shè)備標(biāo)識(shí)。
返回值
調(diào)用本方法的返回值同綁定接口的返回值。
使用示例
private void doSimpleUnBind() { final ResultPbPB resultPbPB = MPPush.unbind(getApplicationContext() , mUserId, PushMsgService.mAdToken); handlePbPBResult("解綁定用戶操作", resultPbPB); }
廠商通道設(shè)備上報(bào)
方法定義
該方法用于同步綁定廠商通道設(shè)備標(biāo)識(shí)與本機(jī)設(shè)備標(biāo)識(shí),即上報(bào)廠商通道設(shè)備標(biāo)識(shí)和 mPaaS 設(shè)備標(biāo)識(shí)(移動(dòng)推送網(wǎng)關(guān)下發(fā)的 Ad-token)至移動(dòng)推送核心,移動(dòng)推送核心將綁定這兩個(gè)標(biāo)識(shí)。完成此過(guò)程后,方可使用廠商通道推送消息。
框架內(nèi)部會(huì)調(diào)用一次該方法,為避免 SDK 調(diào)用失敗,建議您再手動(dòng)調(diào)用一次。
public static ResultPbPB report(Context context, String deliveryToken, int thirdChannel, String thirdChannelDeviceToken)
參數(shù)說(shuō)明
參數(shù)
類(lèi)型
說(shuō)明
ctx
Context
一個(gè)不為空的 Context。
deliveryToken
String
由移動(dòng)推送網(wǎng)關(guān)下發(fā)的設(shè)備標(biāo)識(shí)(Ad-token)。
thirdChannel
int
廠商通道。枚舉值如下:
2:蘋(píng)果
4:小米
6:FCM
7:OPPO
8:vivo
thirdChannelDeviceToken
String
廠商通道設(shè)備標(biāo)識(shí)
返回值
調(diào)用本方法的返回值同綁定接口的返回值。
使用示例
private void doSimpleUploadToken() { final ResultPbPB resultPbPB = MPPush.report(getApplicationContext(), PushMsgService.mAdToken , PushOsType.HUAWEI.value(), PushMsgService.mThirdToken); handlePbPBResult("廠商 push 標(biāo)識(shí)上報(bào)操作", resultPbPB);
問(wèn)題排查
如果通過(guò) RPC 請(qǐng)求進(jìn)行資源調(diào)用過(guò)程中出現(xiàn)異常,請(qǐng)參考 無(wú)線保鏢結(jié)果碼說(shuō)明 進(jìn)行排查。