-1

我正在尝试使用 PushWoosh 在我的 iOS 应用程序上实现推送通知。但是,他们的教程......没有很好的说法。他们的教程很糟糕。它只是臭。这简直是​​最糟糕的。以下是整个教程步骤:

  1. 对于真正的无缝集成,您只需将 Push NotificationsSDK 添加到您的项目中!

  2. 在您的 Info.plist 中,使用您的 Pushwoosh 应用程序 ID 字符串值添加以下键 Pushwoosh_APPID

  3. 要处理推送通知,请将以下函数添加到您的 App Delegate.m 文件中

     #import "PushNotificationManager.h"

    - (void) onPushAccepted:(PushNotificationManager *)pushManager withNotification:(NSDictionary *)pushNotification {
         NSLog(@"Push notification received");
     }

而已!容易,不是吗?

哇,这很容易。除了一些小事......这是一个空的方法!方法里面什么都没有。没有要求如何向服务注册它,什么都没有!有人对所有需要编码以正确设置它有一些经验吗?甚至他们的示例应用程序在 App Delegate 中也没有任何内容可以引用它。

4

3 回答 3

3

The SDK handles the registration and everything automatically using the powers of Objective-C runtime. You only need to pass -ObjC flag to the linker (this is VERY important step).

It looks like the easiest way sometimes confuses developers more than "hard and painful".

Thank you for your feedback and we will provide better documentation!

Pushwoosh team

于 2014-03-07T08:33:11.867 回答
1

我最近自己碰到了这个,并认为我会在这里添加我的结果。至少对我自己来说,链接器标志不起作用的原因是我将它设置在项目下,而不是在目标上设置它。将其切换到目标后,它开始将设备注册为广告。

于 2014-04-13T22:15:45.907 回答
0

这是遗漏的内容。在 didFinishLaunchingWithOptions 方法中,需要添加:

 [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
    pushManager = [[PushNotificationManager alloc] initWithApplicationCode:@"YOUR_APP_ID" appName:@"YOUR_APP_NAME"];
    pushManager.delegate = self;
    [pushManager handlePushReceived:launchOptions];

然后,您还需要在 AppDelegate.m 中使用这些方法

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken
{
    [pushManager handlePushRegistration:devToken];
  }

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)pushMessage
{
    [pushManager handlePushReceived:pushMessage];
}
于 2014-03-07T02:27:42.307 回答