メインコンテンツまでスキップ

FAQにおけるディープリンク

カスタムURLスキームを使用して、アプリ内でのディープリンクに対応します

注意

SDKに含まれているすべてのパブリックAPIは、Helpshift.install() APIを介してSDKを初期化した後に呼び出す必要があります

カスタムURLスキームを使用して、HelpshiftのFAQから アプリ内の特定のリンクへとユーザーを誘導します。これらのスキームを使用することで、 よりシームレスな体験をユーザーに提供できるようになります。たとえば、あなたのAndroidアプリ内に 会員登録用の画面がある場合、FAQにある「登録」リンクをクリックすることでユーザーを 直接その画面へと誘導することができます。

FAQにカスタムURLスキームを挿入する

FAQを編集する際に、テキストを選択してから「リンクを作成する」をクリックします。

add-android-deep-link-1.png

ポップアップ表示されたダイアログにカスタムURLを入力し、FAQを保存します。

add-android-deep-link-2.png

ディープリンクとは、ユーザーが カスタムURLをクリックした際にそのURLが何を行うかを 開発者が自由に決定できるカスタムリンクURLのことを指します。

ディープリンクでは、myscheme://example.comのようなカスタムURLスキームを設定することができます。 たとえば、URLmyscheme://example.com/?faqid=95(faqidはFAQの 公開IDを指しています)では関連するFAQが開き、URL myscheme://example.com/?sectionid=8(sectionidは任意のセクションの公開ID を指しています)では関連するセクションが開きます。

開発者がmyschemeを扱う場合には、対応するFAQ ID とSECTION IDをそれぞれ用いて showSingleFAQAPIとshowFAQSectionAPIを呼び出す必要があります。 その後、必要な処理を行うには、アプリに以下のものを実装する必要があります。

たとえば、以下のようになります:

//AndroidManifest.xml
<activity android:name=".DeepLinkActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myscheme" android:host="example.com"/>
</intent-filter>
</activity>
//DeepLinkActivity.java
public class DeepLinkActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.deep_link);

TextView deepLinkUrl = (TextView) findViewById(R.id.deep_link_url);

Intent intent = getIntent();
Uri data = intent.getData();

if (data.getQueryParameter("faqid") != null) {
Helpshift.showSingleFAQ(this, data.getQueryParameter("faqid"));
finish();
} else if (data.getQueryParameter("sectionid") != null) {
Helpshift.showFAQSection(this, data.getQueryParameter("sectionid"));
finish();
} else {
deepLinkUrl.setText("Deep link received - " + data);
}
}
}