YouTubeでの解説(10分) : https://youtu.be/XFs14aCeHoA
LINE Notify の設定
LINE Notify (https://notify-bot.line.me/ja/) でログインをし、マイページを開きます。
「トークンを発行する」をクリック。
ポップアップが出てくるので、「トークン名」と「通知を送信するトークルーム」を選択し、「発行する」を押すと、アクセストークンが発行されます。
Unity側の設定
Unity 立ち上げ
Unity Hub の New Project から、3D(2Dでも可)を選択して、「プロジェクト作成」を押してください。少し(3分くらい)待つと、Unityが立ち上がります。
プログラム
[Project] のカラムから + マークで [C# Script] を選択し、[LineNortify.cs] を作成。
[Hierarchy] のカラムから + マークで [3D Object] を選択し、適当にキューブなどを作ったらLineNortify.cs
を、その 3D Object にドラッグ&ドロップで割り当ててください。
作成したLineNortify.cs
は、ダブルクリックで開いて、下記のプログラムをコピー&ペーストし、実行ボタンを押してください。
※***ここに LINE Notify のアクセストークン***
の部分に、先ほど LINE Notify で発行したアクセストークンに貼り付けてください。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net.Http;
using System.Net.Http.Headers;
public class LineNotifyScript : MonoBehaviour
{
// 実行すると最初に呼ばれる処理
void Start()
{
PublishMessage("Hello World from Unity!");
}
// 各フレーム(1秒間に24枚)ごとに処理
void Update()
{
}
// LINEに通知する処理
private static async void PublishMessage(string message)
{
// アクセストークン
string ACCESS_TOKEN = "LaGwHOjlXeSujvJ3nKSrpsuGMDNkGzjFYL7WtsnYZDp";
// 通知
using var client = new HttpClient();
var content = new FormUrlEncodedContent(new Dictionary<string, string> { { "message", message } });
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ACCESS_TOKEN);
// 実行
await client.PostAsync("https://notify-api.line.me/api/notify", content);
}
}
無事に、LINEから通知が届けば成功です!
※間違えて Update の関数の中にPublishMessage("Hello World from Unity!");
を書くと、上の画像のように大変なことになるのでお気をつけて。
参考記事
筆者について
ドイツのベルリン在住の仲条高幸と申します。TSfCM という社会問題にテクノロジーで挑むスクールを運営しています。
2022年1月から LINE API Expert として活動していますが、Unity と C# でゲームをつくったことはないです。でも、2022年中にゲームをリリースしようと頑張っています。Twitter と YouTube で主に発信しています!
YouTube
TSfCM (Tech School for Change Makers)