0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

NCMBのKotlin SDKを使ってプッシュ通知を送信する

Posted at

NCMBは複数のプラットフォーム向けにSDKを提供しています。一番最新のSDKとしてKotlin SDKで、従来のJava SDKとはまた違った、Kotlinらしい書き方で使えるSDKとなっています。

今回はそんなKotlin SDKを使ってプッシュ通知を受け取るまでの流れを紹介します。

セットアップ

Androidの場合はFirebaseにてプロジェクトを作成します。そして、Cloud Messagingを有効にしてAndroid用の設定をウィザードで進めます。最終的にgoogle-services.jsonがダウンロードできます。

3522ee8e-dc4a-4a18-8cbb-bf8815d18957.jpeg

また、プロジェクトの設定で新しい秘密鍵を作成、ダウンロードします。この秘密鍵はNCMBの管理画面にてAndroid用プッシュ通知のファイルとしてアップロードしてください。

ae358af8-fb87-465f-9e4d-30c58b3aceb7.jpg

Androidの設定

SDKのインストール

GitHubのリポジトリからNCMB.(バージョン).zipをダウンロードして展開します。NCMB.jarができるので、これを app/libs の中に配置します。

google-services.jsonの配置

app/ に先ほどのgoogle-services.jsonを保存します。

build.gradleの編集

以下を追加します。バージョンは最新版を追加するようにしてください。バージョンはAndroid プロジェクトに Firebase を追加する  |  Firebase Documentationにて確認できます。

buildscript {
		// 省略
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.0"
        // 追加
        classpath "com.google.gms:google-services:4.3.4"
    }
}

app/build.gradleの編集

以下を追記します。

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'com.google.gms.google-services' //追加
}

依存ライブラリを追加します。

dependencies {
    // 省略
    implementation 'com.google.code.gson:gson:2.3.1'
    api files('libs/NCMB.jar')
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9'
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation platform('com.google.firebase:firebase-bom:28.4.0') //追加
    implementation 'com.google.firebase:firebase-messaging-ktx' //追加
    implementation 'com.google.firebase:firebase-analytics-ktx' //追加
    implementation 'com.google.android.gms:play-services-base:17.6.0' //追加
}

各build.gradleをSyncして、ライブラリをインストールします。

app/src/main/AndroidManifest.xmlの編集

manifestタグの直下にusers-permissionを追加します。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jp.moongift.ncmb.pushdemo">
	<!-- 以下を追加 -->
	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
	<uses-permission android:name="android.permission.GET_ACCOUNTS" />
	<uses-permission android:name="android.permission.WAKE_LOCK" />
	<uses-permission android:name="android.permission.VIBRATE" />

applicationタグの下にserviceタグと、meta-dataタグを追加します。

<application
		android:allowBackup="true"
		android:icon="@mipmap/ic_launcher"
		android:label="@string/app_name"
		android:roundIcon="@mipmap/ic_launcher_round"
		android:supportsRtl="true"
		android:theme="@style/Theme.PushDemo">
		<!-- 追加 -->
		<service
				android:name="com.nifcloud.mbaas.core.NCMBFirebaseMessagingService"
				android:exported="false">
				<intent-filter>
						<action android:name="com.google.firebase.MESSAGING_EVENT"/>
				</intent-filter>
		</service>
		<!-- プッシュ通知タップ時に起動するActivityの設定 ※必須の設定 -->
		<meta-data android:name="openPushStartActivity" android:value=".MainActivity"/>
		<!-- プッシュ通知のchannel idの設定 default(com.nifcloud.mbaas.push.channel)-->
		<meta-data android:name="ChannelId" android:value="com.nifcloud.mbaas.push.channel"/>
		<!-- プッシュ通知のchannel名の設定 default(NCMB Push Channel) -->
		<meta-data android:name="ChannelName" android:value="NCMB Push Channel"/>
		<!-- プッシュ通知のchannel 説明の設定 default(com.nifcloud.mbaas.push.channel) -->
		<meta-data android:name="ChannelDescription" android:value="com.nifcloud.mbaas.push.channel"/>

MainActivity.ktの作成

MainActivity.ktにてSDKをインポートします。

import com.nifcloud.mbaas.core.NCMB

SDKを初期化し、さらにプッシュ通知用の機能も初期化します。

NCMB.initialize(this, "YOUR_APPLICATION_KEY", "YOUR_CLIENT")
NCMB.initializePush(this.applicationContext)

これでプッシュ通知の送信準備が整いました。アプリを起動すると、NCMBの管理画面にてInstallationクラスにデータが追加されているのを確認できます。

bcf1b581-f92d-453b-83c1-7858e9b13f23.jpeg

プッシュ通知を送信する

NCMBの管理画面でプッシュ通知を送信します。送信先としてAndroidを選んでください。

screen.png

まとめ

Androidのプッシュ通知の場合、Firebaseでプロジェクトを作成することと、build.gradleの修正、Kotlinファイルの作成が必要です。手順さえ覚えてしまえば簡単に実装できますので、ぜひKotlinアプリにもプッシュ通知を実装してください。

プッシュ通知 (Kotlin) : 基本的な使い方 | ニフクラ mobile backend

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?