+4

Sử dụng Fabric trong Xamarin iOS - Part 1

Bài viết dưới đây sẽ giúp các bạn có thể sử dụng Fabric trong một project Xamarin iOS. Dưới đây là kinh nghiệm của mình khi tìm hiểu và ứng dụng Farbic vào trong dự án.

1. Tổng quan về Fabric Fabric là một tập hợp các tool kit có rất nhiều công dụng: deploy bản build cho test, tracking ứng dụng real time, analytics ứng dung ... Hiện tại trong dự án, mình mới chỉ sử dụng hai tool là Crashlytics và Answers. Crashlytics đúng như cái tên, tool này có tác dụng cho việc log lại các crash, rồi gửi lên server, còn Answers giúp cho việc tracking ứng dụng realtime: ví dụ hiện tại có bao nhiêu người đang sử dụng app... Khi bắt đầu tìm hiểu Farbric một khó khăn mình gặp phải đó là, các tài liệu đều mô tả các sử dụng trong một Xcode project, nhưng cái mình cần là sử dụng nó trong một project Xamarin iOS thì lại rất thiếu thông tin. Và để có thể tìm ra được giải pháp, thì trước tiên mình thử sử dụng nó trên Xcode project, hiểu cơ bản cách nó hoạt động trước. Sau khi đã nắm bắt được cơ bản, việc tiếp theo đó là research làm sao để đưa nó vào trong xamarin ios project. 2. Intergrate Fabric vào một Xamarin iOS project. Như mình đã nói ở trên, dường như xamarin không được ưu ái cho lắm nên các thông tin về Fabric khá là hạn chế. Google "Fabric Xamarin" mình tìm được 2 githud repository nói về việc sử dụng Fabric trong xamarin:

  • Fabric.Sdk.Xamarin https://github.com/drungrin/Fabric.Sdk.Xamarin
  • MonoTouch.Fabric https://github.com/joeisapro/MonoTouch.Fabric Sau khi tìm kiếm thông tin thêm trên https://forums.xamarin.com/ mình quyết định sử dụng Fabric.Sdk.Xamarin vào trong dự án của mình. Một điều nữa cho những bạn mới sử dụng Fabric lần đầu, đó là họ đã làm riêng một ứng dụng gọi là Farbic Mac (máy mình là Mac OS), ứng dụng này hỗ trợ việc integrate Fabric vào Xcode project và theo mình đây là cách dễ nhất và chắc chắn nhất để việc intergrade fabric thành công. Để download Fabric App cho PC, bạn vào links sau: https://fabric.io/download, chọn nền tảng tương ứng. Sau khi download thành công, mở ứng dụng lên, chọn Xcode project mà mình muốn intergrade, làm theo hứng dẫn của nó, nếu không có gì sai sót việc intergrade sẽ thành công. Dưới đây là video Demo việc intergrate Fabric trong Xcode project.
    Tiếp theo sẽ là cách integrate Fabric trong một dự án xamarin iOS.
  • Việc đầu tiên đó là phải tạo một Xamarin iOS project với bundle bất kì, ví dụ làcom.tung.vu.fabric-xamarin-ios.
  • Tiếp theo mở Xcode, tạo một project có bundle id giống như trên: com.tung.vu.fabric-xamarin-ios.
  • Tiến hành intergrate Fabric cho xcode project trước (bước này làm giống video ở trên ), đảm bảo sao cho bước này thành công. Khi đó khi mở Fabric Mac, ta sẽ thấy như sau:
  • Quay trở lại với project xamarin, chọn Packages-> Add Packages, trong cử sổ tìm kiếm, lần lượt tìm FabricCrshlytics và add vào trong project của mình.
  • Mở AppDelegate.cs lên thêm đoạn code sau
            Crashlytics.Instance.Initialize();
            Fabric.Instance.Initialize();
  • Thử chạy ứng dụng lên device, ta sẽ gặp lỗi sau:
Xamarin.iOS: Received unhandled ObjectiveC exception: FABException [Fabric] Value of Info.plist key "Fabric" must be a NSDictionary.
2017-03-22 14:49:29.039 Fabric.Xamarin.ios[4638:142894] 
Unhandled Exception:
Foundation.MonoTouchException: Objective-C exception thrown.  Name: FABException Reason: [Fabric] Value of Info.plist key "Fabric" must be a NSDictionary.

Không cần lo lắng, quay trở lai Xcode project, mở file Info.plist copy đoạn code sau:

    <key>Fabric</key>
	<dict>
		<key>APIKey</key>
		<string>bcbca02b562ec49d38ed0d3ba7e426aebe6d6f4c</string>
		<key>Kits</key>
		<array>
			<dict>
				<key>KitInfo</key>
				<dict/>
				<key>KitName</key>
				<string>Crashlytics</string>
			</dict>
		</array>
	</dict>

Mở lại Xamarin project, mở file Info.plist, chèn đoạn code trên vào. Build -> Clean All, chạy lại project với thiết bị, lúc này lỗi crash sẽ biến mất. Vậy là đã intergrate thành công Fabric với xamarin ios rồi đó.

  • Giờ hãy thử tạo một bản build từ project này, Build -> Archive For Public. Sau khi thành công quay trở lại Fabric Mac chọn tab Distribution, ta sẽ thấy bản build vừa tạo xuất hiện ở đây, lúc này ta có thể gửi bản build cho các tester. Video dưới đây sẽ demo toàn bộ quá trình một cách cụ thể hơn.

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí