Giới thiệu về Facebook “v4a” plugin

Thảo luận trong 'Tin Corona' bắt đầu bởi Khúc Vương, 16/8/17.

  1. Administrator
    Khúc Vương
    Nhân viên CoronaViet
    Tham gia ngày:
    17/1/14
    Bài viết:
    497
    Đã được thích:
    130
    Tương tự như bản cập nhật gần đây được làm cho Google IAP plugin để phòng ngừa báo cáo "Ứng dụng không hồi đáp" (ANR) trong Google Play console, CoronaLabs đã phát hành Facebook v4a plugin mới để giảm tỷ lệ lỗi ANR. Đây là những gì bạn cần biết ...

    [​IMG]

    Phiên bản gần đây nhất của Facebook plugin bắt đầu khởi tạo khi bạn require() nó lần đầu tiên, và nó sẽ không trả về cho đến khi quá trình khởi tạo hoàn tất. Trên thiết bị Android, điều này có thể xuất được xem như ứng dụng không phản hồi, do đó nó tạo báo cáo ANR.

    Để giải quyết vấn đề này, CoronaLabs đã làm cho Facebook v4a plugin mới trở nên không đồng bộ. Tức là nó sẽ ngay lập tức trả về những vẫn có thể đang khởi tạo dưới nền.

    Sử dụng plugin mới
    Để sử dụng phiên bản plugin mới, bạn cần phải làm 4 việc sau đây:
    • Thay đổi code trong build.settings của bạn để sử dụng plugin mới. Chỉ cần thay đổi "plugin.facebook.v4" thành "plugin.facebook.v4a".
    • Thay đổi bất kỳ file Lua nào require plugin để sử dụng plugin mới. Thay đổi đơn giản là require("plugin.facebook.v4") thành require("plugin.facebook.v4a").
    • Đảm bảo rằng bạn đang sử dụng Corona phiên bản 2017.3068 trở lên (2017.3068 là bản public release mới nhất vào thời điểm viết bài này).
    • Sau lần đầu tiên bạn require(), có thể là trong main.lua, hãy thêm một cuộc gọi đến facebook.init().
    API khởi tạo mới
    Vì plugin Facebook v4a mới sẽ không đồng bộ, tức là nó sẽ ngay lập tức trả về những vẫn có thể đang khởi tạo dưới nền, nên bạn cần phải biết khi nào quá trình khởi tạo hoàn tất. Gọi hàm facebook.init() mới cho phép bạn xác định một hàm cụ thể sẽ được gọi khi khởi tạo hoàn tất. Khi hàm đó nhận được "fbinit" event, bạn có thể gọi các cuộc gọi Facebook API khác như facebook.publishInstall() hoặc facebook.login().

    Hàm listener được tham chiếu trong facebook.init() cũng sẽ được sử dụng cho các cuộc gọi Facebook API khác để xử lý "fbconnect" event. Do đó, bạn chỉ cần gọi facebook.setFBConnectListener() nếu bạn muốn sử dụng một hàm khác để xử lý "fbconnect" event của bạn. Xem tài liệu tích hợp để biết thêm thông tin và các ví dụ.

    Lời kết
    Mặc dù bản cập nhật này chỉ thực sự ảnh hưởng đến các bản build cho Android, nhưng bạn cũng nên làm theo cách tương tự đối với các bản build cho iOS để tối đa hóa khả năng tương thích đa nền tảng. ANR có thể là lỗi mà bạn không bao giờ biết đến, vì vậy CoronaLabs đặc biệt khuyến khích bạn cập nhật lên plugin Facebook v4a, đặc biệt nếu bạn có cơ sở người dùng Android hoạt động.
    Last edited by a moderator: 21/8/17

Chia sẻ trang này