我在我的游戏应用程序中实施了一个本地通知,每天激活一次以获得每日奖励。当我点击通知横幅时,一切正常,但是,当我从应用程序图标进入应用程序时,本地通知无法正常工作。
这是我的代码:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions{
.......
.......
application.applicationIconBadgeNumber = 0;
UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotif)
{
NSLog(@"recieved notification %@",localNotif);
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Daily Bonus"
message:@"You recieved 100 free coins"
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:@"ok", nil];
[alert show];
[alert release];
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
float balance = [standardUserDefaults floatForKey:kCurrentScore];
balance +=100.0f;
NSLog(@"%g",balance);
[standardUserDefaults setFloat:balance forKey:kCurrentScore];
[standardUserDefaults synchronize];
}
我将不胜感激。
答案 0 :(得分:0)
这就是它的工作方式。
从它的图标启动应用程序不会触发任何通知到你的应用程序,只能从横幅广告。
你应该使用与触发通知的逻辑相同的逻辑如果你想奖励你的用户,即使他们没有点击横幅 - 只需计算自应用程序上次运行以来有多长时间并在那里做你的东西。