zoukankan      html  css  js  c++  java
  • quick cocos2dx 游戏引擎lua调用oc代码实现本地推送

    我在博客标题为“ios如何实现本地推送,兼容ios8“http://www.cnblogs.com/laoguigame/p/4522474.html的博文中介绍了通过oc代码实现本地推送的方法。
    现在介绍在lua中调用咱们之前写的oc方法接口来实现在lua层实现推送的功能,主要基于quick cocos2dx V3.3版本的引擎来实现。
    在quick中的luaoc.lua文件中实现了luaoc.callStaticMethod(className, methodName, args)接口,可以看出只能调用oc中的静态方法。所以我在NotificationHelper.m文件中添加方法如下:

     1 +(void) sendNotificationByLua:(NSDictionary*) dic
     2 {
     3     NSString* firedate = [dic objectForKey:@"firedate"];//获取从lua中传入的相关参数
     4     NSString* key = [dic objectForKey:@"key"];
     5     NSString* message = [dic objectForKey:@"message"];
     6     NotificationHelper* instance = [NotificationHelper shareInstance];
     7     [instance addNotifiction:firedate keyA:key messageA:message];
     8 }
     9 +(void) removeNotificationByLua:(NSDictionary*) dic
    10 {
    11     NSString* key = [dic objectForKey:@"key"];
    12     [[NotificationHelper shareInstance] removeLocalNotificationByKey:key];
    13 }

    主要实现了发送通知和删除通知的功能,至于还有别的需求可以根据实际项目做不同处理。
    在lua项目中就可以通过如下语句来调用上面申明的相关方法了:

    1 local params = {
    2             firedate = "18:20:00",
    3             key = "fixedNoti",
    4             message = "固定点通知from lua"
    6         }
    7         luaoc.callStaticMethod("NotificationHelper", "sendNotificationByLua", params)
    8     end

    介绍完毕!现在只是实现了oc的本地推送,如果需要做remote远程推送该如何实现,希望有热心的网友能给点建议和思路。据我了解android版本可以通过JPush来实现远程推送。
    如果需要在游戏项目中,比如排名变化,用户被别人攻击了等需要推送给用户增加我们游戏的曝光率就需要远程推送了。如果有做过此类功能的网友,望给个解决方案,谢谢!

  • 相关阅读:
    非循环单链表节点的操作
    链表每一个节点的数据类型该如何表示
    链表的定义、确定一个链表需要几个参数?
    typedef的用法
    连续存储数组的算法(包含数组倒置、冒泡排序……)
    跨函数使用内存案例
    malloc()动态分配内存概述
    结构体
    指针和数组
    C#基础知识之dnSpy反编译
  • 原文地址:https://www.cnblogs.com/laoguigame/p/4523952.html
Copyright © 2011-2022 走看看