• 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来实现远程推送。
    如果需要在游戏项目中,比如排名变化,用户被别人攻击了等需要推送给用户增加我们游戏的曝光率就需要远程推送了。如果有做过此类功能的网友,望给个解决方案,谢谢!

  • 相关阅读:
    代理模式以及operator>()的重载
    asp.net 2.0中gridview里嵌套dropdownlist
    .Net的编码规范
    Google GMail使用技巧
    推荐一些我经常参考的ASP.NET2.0的学习网站
    petShop 4.0 的命名空间 以及各个项目模块的说明
    超强口误
    当每次鼠标点选GRIDVIEW每行的文本框时,该行会加亮
    ASP.NET2.0中Gridview中数据操作技巧
    ASP.NET中的DataGrid控件示例
  • 原文地址:https://www.cnblogs.com/laoguigame/p/4523952.html
Copyright © 2020-2023  润新知