从颤动发送单信号通知

时间:2019-06-30 20:42:40

标签: flutter push-notification onesignal

我有一个使用Unity创建的android应用,我可以从OneSignal网站和我的php网站成功向该应用发送通知。现在,我想通过flutter应用程序(android)发送通知。我尝试了flone的onesignal sdk示例,但它会将通知发送到flutter应用程序而不是Unity应用程序。我不知道我在哪里错了:

Future<void> initPlatformState() async {
if (!mounted) return;



var settings = {
  OSiOSSettings.autoPrompt: false,
  OSiOSSettings.promptBeforeOpeningPushUrl: true
};


// NOTE: Replace with your own app ID from https://www.onesignal.com
await OneSignal.shared
    .init("9a98990f-40fa-455e-adda-ccd474594f41", iOSSettings: settings);

OneSignal.shared
    .setInFocusDisplayType(OSNotificationDisplayType.notification);

bool requiresConsent = await OneSignal.shared.requiresUserPrivacyConsent();

this.setState(() {
  _enableConsentButton = requiresConsent;
});

}

void _handleSendNotification()异步{     var status = await OneSignal.shared.getPermissionSubscriptionState();

var playerId = status.subscriptionStatus.userId;

var imgUrlString =
    "https://vaars.000webhostapp.com/MrNutella/logonutella.png";

var notification = OSCreateNotification(
    playerIds: [playerId],
    content: "this is a test from OneSignal's Flutter SDK",
    heading: "Test Notification",
    iosAttachments: {"id1": imgUrlString},
    bigPicture: imgUrlString,
    buttons: [
      OSActionButton(text: "test1", id: "id1"),
      OSActionButton(text: "test2", id: "id2")
    ]);

var response = await OneSignal.shared.postNotification(notification);

this.setState(() {
  _debugLabelString = "Sent notification with response: $response";
});

}

1 个答案:

答案 0 :(得分:0)

听起来您正在寻找P2P (user-user)通知。您将需要一种从Flutter应用程序获取目标应用程序(Unity)的玩家ID的方法。