Xamarin.Forms에서 Google 애널리틱스 지원 (재 게시)

소개



Xamarin.Forms를 사용하는 앱에서 Google Analytics를 지원해 보았습니다.

※2017/10/14에 투고했습니다만, 투고 NG의 기재가 있었으므로 재게재하고 있습니다. (TrackerID를 그대로 기재하고 있었습니다……)

환경



PC 등


  • Windows 10
  • Visual Studio 2017 Community

  • NuGet 패키지


  • ksemenenko.GoogleAnalytics (1.03)

  • 장비


  • Nexus5X (Android 8.0)
  • iPhone7 (iOS11)

  • 앱 만들기



    새 프로젝트 만들기



    XamarinGoogleAnalytics라는 이름의 Xamarin.Forms 프로젝트를 새로 만듭니다.



    NuGet 패키지 추가



    'ksemenenko.GoogleAnalytics'를 검색하여 추가합니다.
    여기 입니다.



    소스 코드



    공통



    Xamarin.Forms에 버튼을 배치하고 탭하면 Google 웹로그 분석에 제출해 보세요.

    MainPage.xaml
    <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 xmlns:local="clr-namespace:XamarinGoogleAnalytics"
                 x:Class="XamarinGoogleAnalytics.MainPage">
        <ContentPage.Content>
            <StackLayout HorizontalOptions="Center" VerticalOptions="Center">
                <Button Text="Click!" Clicked="Button_Clicked"/>
            </StackLayout>
        </ContentPage.Content>
    </ContentPage>
    

    MainPage.xaml.cs
    using Plugin.GoogleAnalytics;
    using System;
    
    using Xamarin.Forms;
    
    namespace XamarinGoogleAnalytics
    {
        public partial class MainPage : ContentPage
        {
            public MainPage()
            {
                InitializeComponent();
            }
    
            private void Button_Clicked(object sender, EventArgs e)
            {
                GoogleAnalytics.Current.Tracker.SendView("MaiinPage");
                GoogleAnalytics.Current.Tracker.SendEvent("Category", "Action", "Label", 0);
    
                DisplayAlert("Info", "情報を送信しました。", "OK");
            }
        }
    }
    

    안드로이드



    LoadApplication()을 실행하기 전에 초기화를 수행합니다.
    TrackingId는 적절하게 변경하십시오.

    MainActivity.cs
    using System;
    
    using Android.App;
    using Android.Content.PM;
    using Android.Runtime;
    using Android.Views;
    using Android.Widget;
    using Android.OS;
    using Plugin.GoogleAnalytics;
    
    namespace XamarinGoogleAnalytics.Droid
    {
        [Activity(Label = "XamarinGoogleAnalytics", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
        public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
        {
            protected override void OnCreate(Bundle bundle)
            {
                TabLayoutResource = Resource.Layout.Tabbar;
                ToolbarResource = Resource.Layout.Toolbar;
    
                base.OnCreate(bundle);
    
                GoogleAnalytics.Current.Config.TrackingId = "UA-xxxxxx-x";
                GoogleAnalytics.Current.Config.AppId = "XamarinGoogleAnalytics";
                GoogleAnalytics.Current.Config.AppName = "Googleアナリティクスサンプル";
                GoogleAnalytics.Current.Config.AppVersion = "1.0.0";
                GoogleAnalytics.Current.InitTracker();
    
                global::Xamarin.Forms.Forms.Init(this, bundle);
                LoadApplication(new App());
            }
        }
    }
    

    iOS 코드



    LoadApplication()을 실행하기 전에 초기화를 수행합니다.
    TrackingId는 적절하게 변경하십시오.

    AppDelegate.cs
    using Foundation;
    using UIKit;
    using Plugin.GoogleAnalytics;
    
    namespace XamarinGoogleAnalytics.iOS
    {
        [Register("AppDelegate")]
        public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
        {
            public override bool FinishedLaunching(UIApplication app, NSDictionary options)
            {
                GoogleAnalytics.Current.Config.TrackingId = "UA-xxxxxx-x";
                GoogleAnalytics.Current.Config.AppId = "XamarinGoogleAnalytics";
                GoogleAnalytics.Current.Config.AppName = "Googleアナリティクスサンプル";
                GoogleAnalytics.Current.Config.AppVersion = "1.0.0";
                GoogleAnalytics.Current.InitTracker();
    
                global::Xamarin.Forms.Forms.Init();
                LoadApplication(new App());
    
                return base.FinishedLaunching(app, options);
            }
        }
    }
    

    할 수 있었다





    Github



    여기 에 샘플 코드가 있습니다.

    참고 사이트


  • htps : // / 마린에 LP. 코 m / 오오 g ぇ 아나 ly 치 cs ぁ 마린 /
  • 좋은 웹페이지 즐겨찾기