Tautan dalam adalah tautan URL di luar aplikasi Anda yang mengarahkan pengguna ke lokasi di aplikasi Anda. Ketika pengguna mengklik tautan dalam untuk aplikasi, sistem operasi membuka aplikasi Unity di tempat tertentu (misalnya, adegan tertentu). Unity menggunakan properti Application.absoluteURL dan acara Aplikasi.deepLinkActivated untuk mendukung tautan dalam pada platform berikut:
Sebelum Anda dapat memproses tautan dalam, Anda perlu mengkonfigurasi aplikasi Anda untuk bereaksi terhadap mereka. Proses untuk mengkonfigurasi aplikasi untuk bereaksi terhadap URL tertentu adalah spesifik platform. Unity mendukung tautan dalam untuk platform berikut:
Untuk memproses tautan dalam, Anda dapat:
Sampel kode berikut menunjukkan cara memproses URL dalam dan memuat sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary tergantung pada URL.
using UnityEngine;
using UnityEngine.SceneManagement;
public class ProcessDeepLinkMngr : MonoBehaviour
{
public static ProcessDeepLinkMngr Instance { get; private set; }
public string deeplinkURL;
private void Awake()
{
if (Instance == null)
{
Instance = this;
Application.deepLinkActivated += onDeepLinkActivated;
if (!string.IsNullOrEmpty(Application.absoluteURL))
{
// Cold start and Application.absoluteURL not null so process Deep Link.
onDeepLinkActivated(Application.absoluteURL);
}
// Initialize DeepLink Manager global variable.
else deeplinkURL = "[none]";
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(gameObject);
}
}
private void onDeepLinkActivated(string url)
{
// Update DeepLink Manager global variable, so URL can be accessed from anywhere.
deeplinkURL = url;
// Decode the URL to determine action.
// In this example, the app expects a link formatted like this:
// unitydl://mylink?scene1
string sceneName = url.Split("?"[0])[1];
bool validScene;
switch (sceneName)
{
case "scene1":
validScene = true;
break;
case "scene2":
validScene = true;
break;
default:
validScene = false;
break;
}
if (validScene) SceneManager.LoadScene(sceneName);
}
}
Untuk menguji tautan mendalam:
Ini adalah file HTML contoh yang dapat Anda gunakan untuk menguji tautan dalam. Untuk mengarahkan tautan, mengubah atribut href
dalam salah satu elemen <a>
.
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
</head>
<body >
<h1>My Deep Link Test page</h1>
<p><a href="unitydl://mylink">Launch</a></p>
<p><a href="unitydl://mylink?parameter">Launch with Parameter</a></p>
</body>
</html>