Thư thoại kèm theo Hình ảnh

Android 6.0 (Marshmallow) đã triển khai hỗ trợ thư thoại trực quan (VVM) được tích hợp vào Trình quay số, cho phép các dịch vụ Carrier VVM tương thích kết nối với Trình quay số với cấu hình tối thiểu. Thư thoại trực quan cho phép người dùng dễ dàng kiểm tra thư thoại mà không cần thực hiện bất kỳ cuộc gọi điện thoại nào. Người dùng có thể xem danh sách tin nhắn trong giao diện giống hộp thư đến, nghe theo thứ tự bất kỳ và có thể xóa theo ý muốn.

Android 7.0 đã thêm các tham số cấu hình sau vào thư thoại trực quan:

  • Tìm nạp trước thư thoại được kiểm soát bởi KEY_VVM_PREFETCH_BOOLEAN
  • Kiểm soát xem KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN có cần kết nối dữ liệu di động hay không
  • Đang tìm nạp bản ghi thư thoại
  • Đang tìm nạp hạn ngạch thư thoại

Bài viết này cung cấp thông tin tổng quan về những gì được cung cấp, cách các nhà mạng có thể tích hợp với nó và một số chi tiết về cách triển khai.

Máy khách thư thoại trực quan (VVM)

Android 6.0 trở lên bao gồm ứng dụng khách OMTP VVM, ứng dụng này (khi được cung cấp cấu hình chính xác) sẽ kết nối với máy chủ Carrier VVM và điền các tin nhắn thư thoại trực quan trong Trình quay số Dự án mã nguồn mở Android (AOSP). Máy khách VVM:

  • Xử lý các tin nhắn SMS được sử dụng để kích hoạt/hủy kích hoạt/truy vấn trạng thái dịch vụ và các tin nhắn SMS được sử dụng để thông báo cho thiết bị về các sự kiện trong hộp thư của thuê bao
  • Đồng bộ hóa hộp thư với máy chủ IMAP
  • Tải xuống thư thoại khi người dùng chọn nghe chúng
  • Tìm nạp bản ghi thư thoại
  • Tìm nạp chi tiết về hạn ngạch thư thoại (tổng kích thước hộp thư và kích thước chiếm dụng)
  • Tích hợp vào Trình quay số cho các chức năng của người dùng như gọi lại, xem tin nhắn chưa đọc, xóa tin nhắn, v.v.

Tích hợp với máy khách VVM

Thực hiện

Nhà cung cấp dịch vụ phải cung cấp máy chủ thư thoại trực quan triển khai các thông số kỹ thuật OMTP VVM . Việc triển khai hiện tại của ứng dụng khách AOSP VVM hỗ trợ các tính năng cốt lõi (đọc/xóa thư thoại, tải xuống/đồng bộ/nghe) nhưng các tính năng TUI bổ sung (thay đổi mật khẩu, lời chào thư thoại, ngôn ngữ) không được triển khai. Tại thời điểm này, chúng tôi chỉ hỗ trợ OMTP phiên bản 1.1 và không sử dụng mã hóa để xác thực IMAP.

Để hỗ trợ phiên âm, nhà cung cấp dịch vụ phải hỗ trợ định dạng đính kèm phiên âm (loại MIME thuần/văn bản) được chỉ định trong thông số OMTP 1.3, mục 2.1.3.

Lưu ý : Tin nhắn SMS do máy chủ gửi tới thiết bị (ví dụ: STATUS hoặc SYNC) phải là tin nhắn SMS dữ liệu.

Cấu hình

Để nhà cung cấp dịch vụ tích hợp với dịch vụ VVM, nhà cung cấp dịch vụ phải cung cấp chi tiết cấu hình cho nền tảng mà máy khách OMTP có thể sử dụng. Các thông số này là:

  • Số đích và số cổng cho SMS
  • Tên gói của ứng dụng thư thoại trực quan do nhà cung cấp dịch vụ cung cấp (nếu được cung cấp), để có thể tắt việc triển khai nền tảng nếu gói đó được cài đặt

Các giá trị này được cung cấp thông qua API cấu hình nhà cung cấp dịch vụ . Chức năng này, được ra mắt trong Android 6.0, cho phép ứng dụng tự động cung cấp cấu hình liên quan đến điện thoại cho các thành phần nền tảng khác nhau cần nó. Cụ thể, các khóa sau phải có giá trị được xác định:

  • KEY_VVM_DESTINATION_NUMBER_STRING
  • KEY_VVM_PORT_NUMBER_INT
  • KEY_VVM_TYPE_STRING
  • KEY_CARRIER_VVM_PACKAGE_NAME_STRING
  • KEY_VVM_PREFETCH_BOOLEAN
  • KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN

Vui lòng xem bài viết Cấu hình nhà cung cấp dịch vụ để biết thêm chi tiết.

Thực hiện

Ứng dụng khách OMTP VVM được triển khai trong packages/services/Telephony , đặc biệt là trong src/com/android/phone/vvm/

Cài đặt

  1. Máy khách VVM lắng nghe TelephonyIntents#ACTION_SIM_STATE_CHANGED hoặc CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED .
  2. Khi thêm SIM có giá trị Cấu hình nhà cung cấp phù hợp ( KEY_VVM_TYPE_STRING được đặt thành TelephonyManager.VVM_TYPE_OMTP hoặc TelephonyManager.VVM_TYPE_CVVM ), máy khách VVM sẽ gửi SMS HOẠT ĐỘNG tới giá trị được chỉ định trong KEY_VVM_DESTINATION_NUMBER_STRING .
  3. Máy chủ kích hoạt dịch vụ thư thoại trực quan và gửi thông tin xác thực OMTP qua tin nhắn TÌNH TRẠNG. Khi máy khách VVM nhận được tin nhắn TÌNH TRẠNG, nó sẽ đăng ký nguồn thư thoại và hiển thị tab thư thoại trên thiết bị.
  4. Thông tin xác thực OMTP được lưu cục bộ và thiết bị bắt đầu đồng bộ hóa hoàn toàn, như được mô tả bên dưới.

Đang đồng bộ hóa

Có nhiều cách khác nhau để máy khách VVM có thể đồng bộ hóa với máy chủ của nhà cung cấp dịch vụ và ngược lại.

  • Đồng bộ hóa đầy đủ xảy ra khi tải xuống lần đầu. Máy khách VVM tìm nạp siêu dữ liệu thư thoại như ngày và giờ; số xuất xứ; khoảng thời gian; bản ghi âm thư thoại, nếu có; và dữ liệu âm thanh nếu KEY_VVM_PREFETCH_BOOLEAN là Đúng. Đồng bộ hóa đầy đủ có thể được kích hoạt bởi:
    • Lắp SIM mới
    • Khởi động lại thiết bị
    • Trở lại phục vụ
    • Đang nhận chương trình phát sóng VoicemailContract.ACTION_SYNC_VOICEMAIL
  • Đồng bộ hóa tải lên xảy ra khi người dùng tương tác với thư thoại để đọc hoặc xóa nó. Đồng bộ hóa tải lên dẫn đến việc máy chủ thay đổi dữ liệu để khớp với dữ liệu trên thiết bị. Ví dụ: nếu người dùng đọc thư thoại, thư thoại đó sẽ được đánh dấu là đã đọc trên máy chủ; nếu người dùng xóa thư thoại thì thư thoại đó sẽ bị xóa trên máy chủ.
  • Đồng bộ hóa tải xuống xảy ra khi máy khách VVM nhận được tin nhắn SYNC "MBU" (cập nhật hộp thư) từ nhà cung cấp dịch vụ. Tin nhắn SYNC chứa siêu dữ liệu cho tin nhắn mới để nó có thể được lưu trữ trong nhà cung cấp nội dung thư thoại.

Lưu ý : Giá trị hạn ngạch hộp thư đến thư thoại được truy xuất trong mỗi lần đồng bộ hóa.

Tải xuống thư thoại

Khi người dùng nhấn play để nghe thư thoại, tệp âm thanh tương ứng sẽ được tải xuống. Nếu người dùng chọn nghe thư thoại, Trình quay số có thể phát sóng VoicemailContract.ACTION_FETCH_VOICEMAIL mà ứng dụng thư thoại sẽ nhận được, bắt đầu tải xuống nội dung và cập nhật bản ghi trong nhà cung cấp nội dung thư thoại trên nền tảng.

Vô hiệu hóa VVM

Dịch vụ VVM có thể bị tắt hoặc ngừng hoạt động do tương tác của người dùng, xóa SIM hợp lệ hoặc thay thế bằng ứng dụng VVM của nhà cung cấp dịch vụ. Tắt có nghĩa là thiết bị cục bộ không còn hiển thị thư thoại kèm theo hình ảnh. Vô hiệu hóa có nghĩa là dịch vụ bị tắt đối với thuê bao. Sự tương tác của người dùng có thể hủy kích hoạt dịch vụ, việc xóa SIM sẽ tạm thời vô hiệu hóa dịch vụ vì dịch vụ này không còn tồn tại và việc thay thế VVM của nhà cung cấp dịch vụ sẽ vô hiệu hóa ứng dụng khách AOSP VVM.

Tương tác người dùng

Người dùng có thể bật hoặc tắt thủ công thư thoại kèm theo hình ảnh. Nếu người dùng tắt thư thoại kèm theo hình ảnh, họ cũng sẽ tắt dịch vụ của mình. Khi họ tắt thư thoại kèm theo hình ảnh, một tin nhắn TẮT KÍCH HOẠT sẽ được gửi, nguồn thư thoại bị hủy đăng ký cục bộ và tab thư thoại sẽ biến mất. Nếu họ kích hoạt lại thư thoại kèm theo hình ảnh, dịch vụ của họ cũng được kích hoạt lại.

Tháo SIM

Nếu có thay đổi về trạng thái SIM của thiết bị ( ACTION_SIM_STATE_CHANGED ) hoặc giá trị Cấu hình nhà cung cấp dịch vụ ( ACTION_CARRIER_CONFIG_CHANGED ) và cấu hình hợp lệ cho SIM đã cho không còn tồn tại thì nguồn thư thoại sẽ bị hủy đăng ký cục bộ và tab thư thoại sẽ biến mất. Nếu SIM được thay thế, VVM sẽ được kích hoạt lại.

Được thay thế bởi nhà mạng VVM

Ứng dụng thư thoại trực quan của nhà cung cấp dịch vụ, nếu được cài đặt trên thiết bị, có thể tắt ứng dụng khách AOSP VVM. Điều này đạt được bằng cách kiểm tra xem gói có tên khớp với tham số KEY_CARRIER_VVM_PACKAGE_NAME_STRING có được cài đặt hay không.

Máy khách VVM vẫn có thể được kích hoạt thông qua tương tác của người dùng.

Kiểm tra

Hiện có một bộ kiểm tra CTS (kể từ Android 4.0) dành cho API VoicemailProvider cho phép ứng dụng chèn/truy vấn/xóa thư thoại vào nền tảng. Đây là các API tương tự mà VVM sử dụng để thêm/xóa thư thoại để bất kỳ ứng dụng Trình quay số nào cũng có thể hiển thị chúng trong giao diện người dùng.

Để kiểm tra ứng dụng cấu hình của bạn có chuyển cấu hình OMTP chính xác hay không, bạn có thể kiểm tra mã của mình bằng:

  • SIM chứa chữ ký chứng chỉ hợp lệ
  • Một thiết bị chạy Android 6.0 với phiên bản chưa sửa đổi của khung điện thoại AOSP