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

时间: 2024-10-31 07:35:57

quick cocos2dx 游戏引擎lua调用oc代码实现本地推送的相关文章

【课程下载】基于Cocos2d-x游戏引擎实战开发炸弹超人

我这里有套课程想和大家分享,需要的朋友可以加我qq和我联系.QQ2059055336. 课程讲师:Jason.Z 课程分类:ios适合人群:初级课时数量:31课时更新程度:完毕 一.本课程是怎么样的一门课程(全面介绍) 1.1.课程的背景 Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于Cocos2d-iphone,支持 WOPhone, iOS 4.1, Android 2.1 及更高版本, WindowsXP & Windows7,

[ios]js调用oc代码(oc)

用途:在ios开发中,经常回用到js调用oc代码的时候,例如在网页上有个拍照和打电话的按钮,想打开系统自带的拍照和电话的时候,就需要用到js调用oc代码的功能. 实现原理:在webView加载html网页的时候,没当发送一个请求,就会调用<UIWebViewDelegate>代理的 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIW

调用APP标准消息接口推送信息http协议

调用协议:Http协议 调用方式:CRM中新分派线索(实时)或者线索未及时更新(定时,每天执行一次)时,调用APP标准消息接口推送信息,成功后返回标记已通知过. 接口调用方法如下: { "apikey":"xxxsadfsd", "identifier":"com.xx.xx",//向移动应用平台申请 "receiverType":"NAME", "receiverValue&

cocos2d-x游戏引擎核心(3.x)----启动渲染流程

(1) 首先,这里以win32平台下为例子.win32下游戏的启动都是从win32目录下main文件开始的,即是游戏的入口函数,如下: #include "main.h" #include "AppDelegate.h" #include "cocos2d.h" USING_NS_CC; int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm

cocos2d-x游戏引擎核心之四——绘图原理和绘图技巧

一.OpenGL基础 游戏引擎是对底层绘图接口的包装,Cocos2d-x 也一样,它是对不同平台下 OpenGL 的包装.OpenGL 全称为 Open Graphics Library,是一个开放的.跨平台的高性能图形接口.OpenGL ES 则是 OpenGL 在移动设备上的衍生版本,具备与 OpenGL 一致的结构,包含了常用的图形功能.Cocos2d-x 就是一个基于 OpenGL 的游戏引擎,因此它的绘图部分完全由 OpenGL 实现.OpenGL 是一个基于 C 语言的三维图形 AP

ios开发,javascript直接调用oc代码而非通过改变url回调方式

之前一个ios项目中,需要通过UIWebview来打开一个静态页面,并在静态页面中 调用相关object-c代码. 一.以前使用js调用object-c的方法 关于如何使用javascript调用object-c中的函数和方法,我搜索了好久 网上所有的方法,基本都指明了一个方向,那就是在UIWebview中载入的js代码中 通过改变document.locations="",然后回调UIWebview的 -(BOOL)webView:(UIWebView *)webView shoul

Android平台下使用lua调用Java代码经验总结

动态语言以其执行的灵活性,可配置性.方便调试能够为开发带来极大的方便.假设用好了.能够极大的提高开发的效率. 怪不得像游戏开发这样复杂的软件开发里没有不集成脚本语言的. 当中,lua以其小巧,灵活.方便扩展,方便嵌入被用于大多数的游戏开发中. 对于我来说.对于一个充分认识到动态的力量的人来说,在软件开发里集成一种脚本语言成为一种非常重要的非常有意义的工作. 可是在Android平台.在试过Python后,发现尽管集成也不是什么困难的事,可是感觉它还是有点大,一个动态库就有3M多,python库还

Cocos2d-x游戏引擎

1.场景 场景类在Cocos2d-x中用CCScene表示,单独的一个场景实际上只是一个空壳,里面什么东西都没有,我们需要向里面加入层,精灵,菜单等元素.我们都玩过一些手机或电脑游戏,在进入游戏之前,都会有一个开始界面,里面有开始游戏,读取存档,游戏设置等选项,每当你选择了一个选项,都会跳转到相应的界面,比如点击了开始游戏就会跳转到游戏的界面,那么开始的界面实际上就是一个场景,游戏界面是另外一个场景,而开始游戏以及游戏设置这些按钮不过是添加到场景中的一些元素.我们可以脑残的认为,游戏里面每一次的

【Cocos2D-X 游戏引擎】初窥门径(1) 制作一个动态的精灵

原理: Cocos2D中有个导演控制整个游戏流程,导演将场景添加到屏幕上,场景中有各种各样的演员. 先通过显示一张图片来看看Cocos2D游戏的流程: AppDelegate.cpp [cpp] view plaincopy <EMBED id=ZeroClipboardMovie_1 height=18 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www