【问题标题】:Parse Push Notfications in MonoDroid在 MonoDroid 中解析推送通知
【发布时间】:2013-08-31 16:27:59
【问题描述】:

所以我在我的 MonoDroid 应用程序中使用 Xamarin 商店中的 Parse 组件。所以我能够使用下面的代码来存储一个对象

ParseClient.Initialize ("appid", "windowskey");

var obj = new ParseObject("Note");
obj ["text"] = "Hello, world!  This is a Xamarin app using Parse!";
obj ["tags"] = new List<string> {"welcome", "xamarin", "parse"};
obj.SaveAsync ();

我的真正目标是能够进行推送通知。即使存储了上述对象,Parse 也没有在安装中注册设备以便能够发送推送通知。我还缺少什么。注意:我在模拟器中执行此操作,但如果我没记错的话,它仍然可以工作。

【问题讨论】:

  • Parse 中 Xamarin 应用的推送通知支持目前不可用。
  • @darrellbooker,你找到某种解决方法了吗?我认为解决方案是创建一个绑定,我希望避免这种情况。
  • @WilliamGrand 你找到解决办法了吗?

标签: mono xamarin.android xamarin parse-platform


【解决方案1】:

@basit-zia,是的,我做到了!我必须从 Java Parse SDK 为推送库创建一个绑定。我相信我能够剥离除必要元素之外的所有库。我不记得我到底做了什么。

然后在 Main Activity 类中,我将以下内容放入 OnStart() 方法中:

            // check for a notification
            if (Intent != null)
                try {
                string jsonString = Intent.Extras.GetString("com.parse.Data");
                PushObject jsonObj = JsonConvert.DeserializeObject<PushObject>(jsonString);

                if (jsonObj.alert != null) {
                    Toast.MakeText (BaseContext, jsonObj.alert, ToastLength.Long).Show ();
                }

                } catch (Exception e) {
                    Console.WriteLine ("JSONException: " + e.Message);
                }

并将以下内容放入 OnCreate() 方法中:

            Com.Parse.Parse.Initialize(this, "app id here"}, "client key here");
            PushService.SetDefaultPushCallback (this, this.Class);
            PushService.StartServiceIfRequired (this);
            ParseInstallation.CurrentInstallation.SaveInBackground ();

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多