Ejemplo n.º 1
0
        private void fetchAndUpdateNotifactionUri()
        {
            fetchNotifactionUri((objectId) =>
            {
                if (objectId == null)
                {
                    new BmobWindowsPhone().Create(installaction, (resp, ex) =>
                    {
                        if (ex == null && resp != null)
                        {
                            MY_INST_OBJECTID = resp.objectId;

                            BmobDebug.D("Installaction设置成功, 对象ID为: " + MY_INST_OBJECTID + "; MPNS: " + NotificationUri);
                        }
                    });
                }
                else
                {
                    new BmobWindowsPhone().Update(BmobInstallation.TABLE, MY_INST_OBJECTID, new BmobKV().Put("notificationUri", NotificationUri), (resp, ex) =>
                    {
                        if (ex == null)
                        {
                            BmobDebug.D("Installaction更新成功, 对象ID为: " + MY_INST_OBJECTID + "; MPNS: " + NotificationUri);
                            BmobDebug.D("Update NotificationUri success.");
                        }
                        else
                        {
                            BmobDebug.E(ex);
                        }
                    });
                }
            });
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Limit查询语法,用于获取限定数量(limit)的记录列表
 ///
 /// 默认10条 最多1000条。地理位置查询,默认是100,最大是1000
 /// </summary>
 /// <param name="limit">记录数限制数</param>
 /// <returns>返回当前对象</returns>
 public BmobQuery Limit(int limit)
 {
     if (limit > 1000)
     {
         BmobDebug.E("设置的查询数据量 " + limit + " 将不会生效, 单次查询最大获取数量1000条. 查询数据量置为1000.");
         this.limit = 1000;
     }
     else
     {
         this.limit = limit;
     }
     return(this);
 }
Ejemplo n.º 3
0
        static BmobPush()
        {
            DeviceType = BmobInstallation.DeviceType;

            try
            {
                var DeviceUniqueId = Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId") as byte[];
                DeviceId = DeviceUniqueId.ToHexString();
            }
            catch (Exception e)
            {
                BmobDebug.E("获取设备唯一ID失败!!! 请确认添加ID_CAP_IDENTITY_DEVICE功能? ");
                throw e;
            }
        }
Ejemplo n.º 4
0
        // /

        // / 私有核心方法

        /// <summary>
        /// 对象转换的公共类
        /// </summary>
        // <typeparam name="W">支持List<>/Dictionary<X,X>/int/long/double/:BmobWritable/:BmobValue的类型</typeparam>
        // <param name="value">SDK会把JSON解析为List<X,X>和Dictionary<X,X>。 值对象,可以传入null</param>
        public static W Parse <W>(object value)
        {
            if (value == null)
            {
                return(default(W));
            }

            W w = (W)convert(typeof(W), value);

            if (w == null)
            {
                BmobDebug.E("最外层对象**推荐**使用IBmobWritable对象,序列化定制化程度更高!");

                // 搞不定,使用反射方式重新解析
                string json = JsonAdapter.JSON.ToDebugJsonString(value);
                BmobDebug.E("反序列化不正确,使用默认的JSON反序列化方式再次处理! " + json);
                w = JsonAdapter.JSON.ToObject <W>(json);
            }

            return(w);
        }
Ejemplo n.º 5
0
 public void ErrorOccurred(object sender, NotificationChannelErrorEventArgs e)
 {
     BmobDebug.E(String.Format("A push notification {0} error occurred.  {1} ({2}) {3}", e.ErrorType, e.Message, e.ErrorCode, e.ErrorAdditionalData));
 }