📜  使用OneSignal在Android中推送通知

📅  最后修改于: 2021-05-10 13:58:19             🧑  作者: Mango

我们已经在许多Android应用中看到了如此多的通知类型。这些通知会通知我们的用户有关我们应用程序中的新优惠,新功能以及更多其他信息。在本文中,我们将研究Android Studio中Android应用程序中OneSignal通知平台的实现。

我们将在本文中构建什么?

我们将构建一个简单的应用程序,在该应用程序中,我们将从Android应用程序中的One Signal平台发送通知。注意,我们将使用Java语言实现该项目。

分步实施

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。

第2步:将您的应用连接到Firebase

创建新项目后。导航到顶部栏上的“工具”选项。在里面单击Firebase。单击Firebase后,您可以在屏幕快照中看到下面提到的右列。

在该列内,导航到Firebase Cloud Firestore。单击该选项,您将在“将应用程序连接到Firebase”和“将Cloud Firestore添加到您的应用程序”中看到两个选项。单击立即连接选项,您的应用程序将连接到Firebase。之后,单击第二个选项,现在您的应用已连接到Firebase。将您的应用程序连接到Firebase后,您将看到以下屏幕。

之后,确认已将Firebase Firestore数据库的依赖项添加到我们的Gradle文件中。导航到该文件内的应用程序> Gradle脚本。检查是否添加了以下依赖项。

步骤3:在build.gradle文件中添加依赖项

现在,我们将在gradle文件中添加使用One Signal的依赖项。导航至build.gradle(:app)并在“插件”部分添加以下行。

在同一文件的“依赖关系”部分中添加以下行。

现在,我们将在依赖项部分添加以下依赖项。导航至build.gradle(您的应用名称),然后将以下代码添加到其中。

buildscript {
    repositories {
        google()
        jcenter()
       
        // add below line in build script > repositories section.
        gradlePluginPortal()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.1"
        classpath 'com.google.gms:google-services:4.3.4'
        
        // add below line in dependencies section
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.9, 0.99.99]'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
} 

添加上述依赖项部分之后,然后同步您的项目,现在我们将转向XML部分。

步骤4:为Internet添加权限

XML



XML


  
    
    
      


Java
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.onesignal.OneSignal;
  
public class MainActivity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // OneSignal Initialization
        OneSignal.initWithContext(this);
          
        // on below line we are setting
        // app id for our one signal
        OneSignal.setAppId("Enter your app id here");
    }
}


步骤5:使用activity_main.xml文件

导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。

XML格式



  
    
    
      

步骤6:为我们的应用程序生成应用程序ID

为了生成我们的应用程序ID,我们必须注册一个信号,类似于我们使用Google帐户登录Geeks For Geeks所使用的信号。登录One Signal后,您将看到以下屏幕以创建一个新应用。

在此屏幕内,您必须输入您的应用程序名称,将应用程序类型选择为Android,然后单击下一步选项以配置您的项目。单击下一步选项后,您将看到两个文本字段以输入两个键。

步骤7:获取要在一个信号控制台中输入的键

添加此代码后,请转到此链接以打开Firebase。单击此链接后,您将看到以下页面,并且在此页面上,单击右上角的“转到控制台”选项。

单击此屏幕后,您将看到下面的屏幕,其中包含您选择的项目的所有项目。

单击项目名称后,您必须单击设置选项,然后选择项目设置选项。设置选项如下所示。

单击项目设置后。导航到如下所示的“云消息传递”选项卡。在那里,我们将看到服务器密钥和发送者ID。您可以在下面的屏幕上看到它。

您必须复制这两个键并将它们粘贴到一个信号控制台中。

添加这些键后,单击“下一步”选项以继续。您将看到以下屏幕。

在此屏幕内,选择“ Android”选项,然后单击“下一步”选项以继续进行操作。您将看到屏幕上显示您的App ID。

步骤8:使用MainActivity。 Java文件

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。

Java

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.onesignal.OneSignal;
  
public class MainActivity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // OneSignal Initialization
        OneSignal.initWithContext(this);
          
        // on below line we are setting
        // app id for our one signal
        OneSignal.setAppId("Enter your app id here");
    }
}

现在运行您的应用程序,我们将在我们的Android应用程序中发送第一个通知。要在One Signal中发送通知,请在One Signal Console的左上角单击您的应用程序名称,然后单击您的应用程序名称,您将看到“仪表板”屏幕。

单击“新推送”选项以发送新通知。单击“新推送”选项后,您将看到以下屏幕。

在此屏幕内,选择“发送给订阅的用户”选项,“添加标题”选项在标题字段中添加“通知”标题,在“消息”部分中添加“通知消息”,然后向下滚动以继续进行操作。

向下滚动后,单击查看并发送选项以发送您的通知。之后,您的通知将发送到您的应用。您可以在下面的屏幕上查看应用程序的输出。

输出:

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!