请教,我想获取推送的消息,然后再App内部状态栏使用,怎么弄

unity3d
标签: #<Tag:0x00007fb83bc9b328>

#1

我想获取推送的消息,然后再App内部状态栏使用,求指教

using UnityEngine;
using System.Collections;
using JPush;
using System.Collections.Generic;
using System;
using UnityEngine.UI;

#if UNITY_IPHONE
using LitJson;
#endif

public class Notice : MonoBehaviour {

    string str_unity = "";
    int callbackId = 0;


    void Start () {
        gameObject.name = "Main Camera";
        JPushBinding.Init(gameObject.name);
        JPushBinding.SetDebug(true);
    }

    void Update () {
		
	}

    void OnReceiveMessage(string jsonStr)
    {
        //Debug.Log("recv----message-----" + jsonStr);
        gameObject.GetComponent<Text>().text = "2222222222";
        //str_unity = jsonStr;
    }

    void OnReceiveNotification(string jsonStr)
    {
        //Debug.Log("recv---notification---" + jsonStr);
        gameObject.GetComponent<Text>().text = "3333333333";
    }
}

#2

在iOS设备上还是Android 设备上?

收到消息会走 获取方法,即可取到内容。

iOS需要点击通知栏,也可以使用 Message自定义消息,前台接受,不展示


#3

在安卓设备上,收到消息,这两个方法就自动触发吗


#4

你推送的Notification消息就走Notification的方法,自定义Message消息就走Message的·方法

参考unity的example


#5

这个方法是要写在什么特定的类里面吗,我是用的unity,然后发布到安卓,这个方法写在了一个物体的脚本里,手机通知栏能收到,但是这个方法不走

using UnityEngine;
using System.Collections;
using JPush;
using System.Collections.Generic;
using System;
using UnityEngine.UI;

public class Notice : MonoBehaviour {

    void Start () {

    }

    void Update () {
		
	}

    void OnReceiveNotification(string jsonStr)
    {
        gameObject.GetComponent<Text>().text = jsonStr;
    }
}

(Hevin) #6

事件监听方法所在脚本挂载的 GameObject 要和初始化时设置的 GameObject 名称一致。

比如,你这里代码里初始化时设置的是 “Main Camera”,那脚本就需要挂载在 “Main Camera” 上。或者选择把 “Main Camera” 改成你当前脚本挂载的 GameObject 名。


#7

非常感谢,收到了,真是一针见血的回复,谢谢