Ejemplo n.º 1
0
        public void onNativeCallback(string message)
        {
            Debug.Log("===> message : " + message);
            Hashtable jsonObj = (Hashtable)PSSDKMiniJSON.MiniJSON.jsonDecode(message);

            string privacyName = "";
            string productid   = "";
            string gamerId     = "";
            bool   ignore      = false;
            string type        = "";
            bool   status      = false;

            if (jsonObj.ContainsKey(Unity_Callback_Message_Key_Function))
            {
                string function = (string)jsonObj[Unity_Callback_Message_Key_Function];
                string paras    = (string)jsonObj[Unity_Callback_Message_Key_Parameter];


                Hashtable jsonValueObj = (Hashtable)PSSDKMiniJSON.MiniJSON.jsonDecode((string)jsonObj[Unity_Callback_Message_Key_Parameter]);


                Debug.Log("pssdk func" + function);
                Debug.Log("pssdk paras" + paras);

                //callback
                if (function.Equals(Unity_Callback_Message_Function_PSSDK_REQUESTPRIVACY_DATA_Success))
                {
                    privacyName = getInnerJsonParamterValue(jsonObj, "msg0");
                    ignore      = getInnerJsonParamterValue(jsonObj, "msg1") == "true" ? true:false;
                    type        = getInnerJsonParamterValue(jsonObj, "msg2");
                    status      = getInnerJsonParamterValue(jsonObj, "msg3") == "true" ? true:false;
                    if (requestPrivacyDataSucceedCallback != null)
                    {
                        requestPrivacyDataSucceedCallback(privacyName, ignore, type, status);
                    }
                    else
                    {
                        Debug.Log("===> can't run requestPrivacyDataSucceedCallback(), no delegate object.");
                    }
                }
                else if (function.Equals(Unity_Callback_Message_Function_PSSDK_REQUESTPRIVACY_DATA_Fail))
                {
                    string reason = getInnerJsonParamterValue(jsonObj, "msg0");
                    if (requestPrivacyDataFailCallback != null)
                    {
                        requestPrivacyDataFailCallback(reason);
                    }
                    else
                    {
                        Debug.Log("===> can't run requestPrivacyDataFailCallback(), no delegate object.");
                    }
                }
                else if (function.Equals(Unity_Callback_Message_Function_PSSDKLOADDIALOG_DATA_Success))
                {
                    string result = getInnerJsonParamterValue(jsonObj, "msg0");
                    if (loadDialogDataSuccessCallback != null)
                    {
                        loadDialogDataSuccessCallback(result);
                    }
                    else
                    {
                        Debug.Log("===> can't run loadDialogDataSuccessCallback(), no delegate object.");
                    }
                }
                else if (function.Equals(Unity_Callback_Message_Function_PSSDKLOADDIALOG_DATA_Fail))
                {
                    string reason = getInnerJsonParamterValue(jsonObj, "msg0");
                    if (loadDialogDataFailCallback != null)
                    {
                        loadDialogDataFailCallback(reason);
                    }
                    else
                    {
                        Debug.Log("===> can't run loadDialogDataFailCallback(), no delegate object.");
                    }
                }
                else if (function.Equals(Unity_Callback_Message_Function_PSSDK_REQUESTPRIVACYSTATUS_CallBack))
                {
                    string statusOrder  = getInnerJsonParamterValue(jsonObj, "msg0");
                    string unkownReason = getInnerJsonParamterValue(jsonObj, "msg1");
                    if (privacyInfoStatusCallBack != null)
                    {
                        if (statusOrder == "0")
                        {
                            privacyInfoStatusCallBack(PSSDKConstant.PrivacyStatusEnum.PrivacyInfoStatusUnkown, unkownReason);
                        }
                        if (statusOrder == "1")
                        {
                            privacyInfoStatusCallBack(PSSDKConstant.PrivacyStatusEnum.PrivacyInfoStatusAccepted, "");
                        }
                        if (statusOrder == "2")
                        {
                            privacyInfoStatusCallBack(PSSDKConstant.PrivacyStatusEnum.PrivacyInfoStatusDenied, "");
                        }
                    }
                    else
                    {
                        Debug.Log("===> can't run privacyInfoStatusCallBack(), no delegate object.");
                    }
                }

                else if (function.Equals(Unity_Callback_Message_Function_PSSDK_REQUEST_AUTH_Success))
                {
                    if (requestAuthSuccessCallback != null)
                    {
                        PSSDKAuthModel model = new PSSDKAuthModel();

                        string privacyPolicy    = (string)jsonValueObj["privacyPolicy"];
                        int    collectionStatus = (int)jsonValueObj["collectionStatus"];

                        int sharingStatus = (int)jsonValueObj["sharingStatus"];



                        model.PrivacyPolicy = privacyPolicy;

                        if (collectionStatus == 0)
                        {
                            model.AuthCollectionStatus1 = PSSDKAuthModel.AuthCollectionStatus.UNKNOW;
                        }
                        else if (collectionStatus == 1)
                        {
                            model.AuthCollectionStatus1 = PSSDKAuthModel.AuthCollectionStatus.DISAGREE;
                        }
                        else if (collectionStatus == 2)
                        {
                            model.AuthCollectionStatus1 = PSSDKAuthModel.AuthCollectionStatus.AGREE;
                        }


                        if (sharingStatus == 0)
                        {
                            model.AuthSharingStatus1 = PSSDKAuthModel.AuthSharingStatus.UNKNOW;
                        }
                        else if (sharingStatus == 1)
                        {
                            model.AuthSharingStatus1 = PSSDKAuthModel.AuthSharingStatus.DISAGREE;
                        }
                        else if (sharingStatus == 2)
                        {
                            model.AuthSharingStatus1 = PSSDKAuthModel.AuthSharingStatus.AGREE;
                        }



                        requestAuthSuccessCallback(model);
                    }
                    else
                    {
                        Debug.Log("===> can't run requestAuthSuccessCallback(), no delegate object.");
                    }
                }

                else if (function.Equals(Unity_Callback_Message_Function_PSSDK_REQUEST_AUTH_FAIL))
                {
                    if (requestAuthFailCallback != null)
                    {
                        Debug.Log("===> pssdk Unity_Callback_Message_Function_PSSDK_REQUEST_AUTH_FAIL.");

                        requestAuthFailCallback(paras);
                    }
                    else
                    {
                        Debug.Log("===> can't run requestAuthFailCallback(), no delegate object.");
                    }
                }



                else if (function.Equals(Unity_Callback_Message_Function_PSSDK_UPDATE_Success))
                {
                    if (updatePrivacyStatusSucceedCallback != null)
                    {
                        updatePrivacyStatusSucceedCallback("success");
                    }
                    else
                    {
                        Debug.Log("===> can't run updatePrivacyStatusSucceedCallback(), no delegate object.");
                    }
                }
                else if (function.Equals(Unity_Callback_Message_Function_PSSDK_UPDATE_Fail))
                {
                    string reason = getInnerJsonParamterValue(jsonObj, "msg0");
                    if (updatePrivacyStatusFailCallback != null)
                    {
                        updatePrivacyStatusFailCallback(reason);
                    }
                    else
                    {
                        Debug.Log("===> can't run updatePrivacyStatusFailCallback(), no delegate object.");
                    }
                }

                // iOS
                // 获取授权状态
                else if (function.Equals(Unity_Callback_Message_Function_GetAuthorization_Complete))
                {
                    Debug.Log("===> call function " + Unity_Callback_Message_Function_GetAuthorization_Complete);

                    if (jsonObj.ContainsKey(Unity_Callback_Message_Key_Parameter))
                    {
                        string json = (string)jsonObj[Unity_Callback_Message_Key_Parameter];
                        Debug.Log("parameter json : " + json);

                        Hashtable paraObj = (Hashtable)PSSDKMiniJSON.MiniJSON.jsonDecode(json);

                        privacyName = (string)paraObj[Unity_Callback_Message_Parameter_privacyPolicy];
                        Debug.Log("===> privacyName " + privacyName);
                        ignore = (bool)paraObj[Unity_Callback_Message_Parameter_ignore];
                        Debug.Log("===> ignore " + ignore);
                        type = Convert.ToString((int)paraObj[Unity_Callback_Message_Parameter_type]);
                        Debug.Log("===> type " + type);
                        status = (bool)paraObj[Unity_Callback_Message_Parameter_authorization];
                        Debug.Log("===> status " + status);
                        if (requestPrivacyDataSucceedCallback != null)
                        {
                            requestPrivacyDataSucceedCallback(privacyName, ignore, type, status);
                        }
                        else
                        {
                            Debug.Log("===> can't run requestPrivacyDataSucceedCallback(), no delegate object.");
                        }
                    }
                    else
                    {
                        Debug.Log("===> Does not contain Parameter");
                    }
                }
                // 主动更新授权状态
                else if (function.Equals(Unity_Callback_Message_Function_UpdateAuthorization_Complete))
                {
                    Debug.Log("===> call function " + Unity_Callback_Message_Function_UpdateAuthorization_Complete);

                    if (jsonObj.ContainsKey(Unity_Callback_Message_Key_Parameter))
                    {
                        string json = (string)jsonObj[Unity_Callback_Message_Key_Parameter];
                        Debug.Log("parameter json : " + json);

                        Hashtable paraObj = (Hashtable)PSSDKMiniJSON.MiniJSON.jsonDecode(json);

                        bool succeed = (bool)paraObj[Unity_Callback_Message_Parameter_succeed];
                        Debug.Log("===> succeed " + succeed);

                        if (succeed)
                        {
                            if (updatePrivacyStatusSucceedCallback != null)
                            {
                                updatePrivacyStatusSucceedCallback(succeed?"success":"fail");
                            }
                            else
                            {
                                Debug.Log("===> can't run updatePrivacyStatusSucceedCallback(), no delegate object.");
                            }
                        }
                        else
                        {
                            if (updatePrivacyStatusFailCallback != null)
                            {
                                updatePrivacyStatusFailCallback("fail");
                            }
                            else
                            {
                                Debug.Log("===> can't run updatePrivacyStatusFailCallback(), no delegate object.");
                            }
                        }
                    }
                    else
                    {
                        Debug.Log("===> Does not contain Parameter");
                    }
                }
                // 获取弹窗信息
                else if (function.Equals(Unity_Callback_Message_Function_GetAlertInfo_Complete))
                {
                    Debug.Log("===> call function " + Unity_Callback_Message_Function_GetAlertInfo_Complete);

                    if (jsonObj.ContainsKey(Unity_Callback_Message_Key_Parameter))
                    {
                        string json = (string)jsonObj[Unity_Callback_Message_Key_Parameter];
                        Debug.Log("parameter json : " + json);

                        Hashtable paraObj = (Hashtable)PSSDKMiniJSON.MiniJSON.jsonDecode(json);

                        bool succeed = (bool)paraObj[Unity_Callback_Message_Parameter_succeed];
                        Debug.Log("===> succeed " + succeed);

                        if (succeed)
                        {
                            if (loadDialogDataSuccessCallback != null)
                            {
                                loadDialogDataSuccessCallback("success");
                            }
                            else
                            {
                                Debug.Log("===> can't run loadDialogDataSuccessCallback(), no delegate object.");
                            }
                        }
                        else
                        {
                            if (loadDialogDataFailCallback != null)
                            {
                                loadDialogDataFailCallback("fail");
                            }
                            else
                            {
                                Debug.Log("===> can't run loadDialogDataFailCallback(), no delegate object.");
                            }
                        }
                    }
                    else
                    {
                        Debug.Log("===> Does not contain Parameter");
                    }
                }
                // 使用弹窗向用户请求授权
                else if (function.Equals(Unity_Callback_Message_Function_ShowAlert_Complete))
                {
                    Debug.Log("===> call function " + Unity_Callback_Message_Function_ShowAlert_Complete);

                    if (jsonObj.ContainsKey(Unity_Callback_Message_Key_Parameter))
                    {
                        string json = (string)jsonObj[Unity_Callback_Message_Key_Parameter];
                        Debug.Log("parameter json : " + json);

                        Hashtable paraObj = (Hashtable)PSSDKMiniJSON.MiniJSON.jsonDecode(json);

                        bool authorization = (bool)paraObj[Unity_Callback_Message_Parameter_authorization];
                        Debug.Log("===> authorization " + authorization);

                        if (privacyInfoStatusCallBack != null)
                        {
                            if (authorization)
                            {
                                privacyInfoStatusCallBack(PSSDKConstant.PrivacyStatusEnum.PrivacyInfoStatusAccepted, "");
                            }
                            else
                            {
                                privacyInfoStatusCallBack(PSSDKConstant.PrivacyStatusEnum.PrivacyInfoStatusDenied, "");
                            }
                        }
                        else
                        {
                            Debug.Log("===> can't run privacyInfoStatusCallBack(), no delegate object.");
                        }
                    }
                    else
                    {
                        Debug.Log("===> Does not contain Parameter");
                    }
                }

                //unkown call
                else
                {
                    Debug.Log("===> onTargetCallback unkown function:");
                }
            }
        }
Ejemplo n.º 2
0
 public void onRequsetAuthSuccess(PSSDKAuthModel authModel)
 {
     Debug.Log("pssdk  onRequsetAuthSuccess PrivacyPolicy=" + authModel.PrivacyPolicy + " AuthCollectionStatus1=" + authModel.AuthCollectionStatus1
               + " AuthSharingStatus1=" + authModel.AuthSharingStatus1);
 }