【发布时间】:2018-05-09 13:55:34
【问题描述】:
我已经为推送通知实现了 UrbanAirship。当应用程序在后台关闭时,我会收到通知。但是当应用程序运行时我没有收到通知。
我已附上我的代码。有人可以调查一下,让我知道我在这里缺少什么吗?
谢谢。
AppDelegates.cs
public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions)
{
UAirship.TakeOff();
Xamarin.Forms.Forms.Init();
LoadApplication(new App());
UIApplication.SharedApplication.StatusBarHidden = false;
UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, false);
_networkManager = new NetworkManager();
UAirship.Push.UserPushNotificationsEnabled = true;
string chanelid = UAirship.Push.ChannelID;
return base.FinishedLaunching(uiApplication, launchOptions);
}
[Export("userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:")]
public void DidReceiveNotificationResponse(UserNotifications.UNUserNotificationCenter center, UserNotifications.UNNotificationResponse response, Action completionHandler)
{
var alert = new UIAlertView("Title1", "Message1", null, "Cancel", "OK");
alert.Show();
//TAPPED NOTIFICATION
}
//Or
//Fire when background received notification is clicked
public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
{
var alert = new UIAlertView("Title2", "Message2", null, "Cancel", "OK");
alert.Show();
}
info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string></string>
<key>CFBundleDisplayName</key>
<string>MyProject</string>
<key>CFBundleName</key>
<string>MyProject</string>
<key>CFBundleIdentifier</key>
<string>com.xxxxxxxx.xxxxx</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>8.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcons.appiconset</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
//some values
</dict>
</dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>UIStatusBarHidden</key>
<true/>
<key>UIMainStoryboardFile</key>
<string>LaunchScreen</string>
<key>NSPhotoLibraryUsageDescription</key>
<string></string>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
</dict>
</plist>
规格
Windows 10
Visual Studio 2017(企业版)
Xamarin.Forms
【问题讨论】:
-
我更新了代码,如果有帮助请标记为答案。
标签: xamarin.forms xamarin.ios apple-push-notifications urbanairship.com