スマートフォンアプリに埋め込む

ヘルプドッグで作成したヘルプセンターは、スマートフォンおよびタブレット向けのアプリにWebView形式で表示することができます。

WebViewを利用してサイトを表示

Flutterによるサンプルコード

以下の例は、webview_flutter を利用してアプリからヘルプセンターを呼び出す参考コードです。

  • JavaScriptを有効にしてください

import 'dart:developer';

import 'package:flutter/material.dart';

import 'package:webview_flutter/webview_flutter.dart';

class HelpdogWebView extends StatelessWidget {

const HelpdogWebView({super.key});

@override

Widget build(BuildContext context) {

final controller =

WebViewController()

..loadRequest(Uri.parse('https://helpdog.ai/hc/nocoinc/helpdog/ja/')) // このURLを変更してください

..setJavaScriptMode(JavaScriptMode.unrestricted) // JavaScriptの有効化が必要です

..setBackgroundColor(Colors.black)

..setNavigationDelegate(

NavigationDelegate(

onProgress: (int progress) {

log('progress: $progress');

},

onPageStarted: (String url) {

log('page started: $url');

},

onPageFinished: (String url) {

log('page finished: $url');

},

onWebResourceError: (WebResourceError error) {

log('error: $error');

},

onNavigationRequest: (NavigationRequest request) {

return NavigationDecision.navigate;

},

),

);

return Scaffold(

appBar: AppBar(title: const Text('Helpdog Webview')),

body: SafeArea(

child: Column(

children: [

Expanded(child: WebViewWidget(controller: controller)),

SizedBox(

height: 50,

child: Row(

children: [

Padding(

padding: const EdgeInsets.all(8.0),

child: IconButton(

onPressed: () {

controller.goBack();

},

icon: const Icon(Icons.arrow_back_ios),

),

),

Padding(

padding: const EdgeInsets.all(8.0),

child: IconButton(

onPressed: () {

controller.goForward();

},

icon: const Icon(Icons.arrow_forward_ios),

),

),

Padding(

padding: const EdgeInsets.all(8.0),

child: IconButton(

onPressed: () {

controller.reload();

},

icon: const Icon(Icons.replay),

),

),

],

),

),

],

),

),

);

}

}

注意点

  • 現時点では、アプリ用に表示をカスタマイズする機能(ヘッダーやフッターを非表示にするなど)はありません。

  • 分析データのために同一ユーザーをトラッキングしたい場合、Cookie、LocalStorageを永続化することを検討してください。

このページはお役に立ちましたか?