如何将信号添加到expo项目

问题描述 投票:0回答:3

我想在expo项目中添加onesignal推送通知。

但是,我需要添加这样的内容:

buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.10, 0.99.99]'
    }
}

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

应用程序/build.grandle

但是expo项目不包含build.grandle文件夹

我该如何处理这个问题

react-native expo onesignal
3个回答
1
投票

编辑 2024 年

OneSignal 添加了对 Expo bare 工作流程的支持,如何安装请参阅官方文档:https://documentation.onesignal.com/docs/react-native-expo-sdk-setup



原答案

简短的回答是 你不能

结帐唯一支持的第三方推送通知服务是Expo通知服务

如果您想在 expo 中使用 OneSignal,您必须弹出到裸工作流程。以下是 OneSignal 文档的链接:必须弹出到裸工作流程


0
投票

Native Notify (https://nativenotify.com) 是我所知道的唯一可与 Expo 配合使用的 Expo 推送通知服务。

我认为 Native Notify 是专门为世博会豪华通知服务而设计的。

设置起来非常简单。我在 5 分钟内就设置好了。


0
投票

请按照以下步骤操作:

  1. expo install onesignal-expo-plugin

  2. npm install --save react-native-onesignal

  3. 在你的app.json中添加

{
  "plugins": [
    [
      "onesignal-expo-plugin",
      {
        "mode": "development",
      }
    ]
  ]
}

  1. 运行

    npx expo prebuild

  2. 在一个终端中运行此

    npx expo start --dev-client

  3. 然后在另一个终端运行这个

    npm run android

  4. 现在将其添加到您的代码中

import { LogLevel, OneSignal } from "react-native-onesignal";

OneSignal.Debug.setLogLevel(LogLevel.Verbose);
OneSignal.initialize("Your-Api-Key");

  1. 并获取玩家ID

    const player_id = OneSignal.User.pushSubscription.getPushSubscriptionId();

© www.soinside.com 2019 - 2024. All rights reserved.