Ringkasan
Class helper untuk membuka container.
Ini adalah wrapper di sekitar metode openContainerById:callback: (TAGManager) untuk pemanggil yang memberikan dukungan untuk waktu tunggu.
Berikut adalah contoh yang menunjukkan waktu menunggu hingga 0,1 detik sampai penampung dimuat sebelum kembali ke penampung default:
NSTimeInterval timeout = 0.1; TagManager *tagManager = [TagManager instance]; TAGContainerFuture *future = [TAGContainerOpener openContainerWithId:@"GTM-XXXX" tagManager:tagManager openType:kTAGOpenTypePreferNonDefault timeout:&timeout]; TAGContainer *container = [future get];
Jika pemanggil ingin diberi tahu secara asinkron saat penampung tersedia, tetapi ingin menentukan waktu tunggu secara manual menjadi 0,5 detik, pemanggil harus membuat subclass TAGContainerOpenerNotifier, melakukan panggilan ke openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) dengan waktu tunggu ditetapkan ke 0.5, dan tambahkan implementasi ke containerOpenerNotifier yang tersedia: (TAGContainerOpenerNotifier
Fungsi Anggota Publik Statis | |
(id< TAGContainerFuture >) | + openContainerWithId:tagManager:openType:timeout: |
Menunggu hingga timeout detik untuk penampung dimuat (non default atau baru, bergantung pada openType yang ditentukan) dan menampilkan TAGContainerFuture . | |
(void) | + openContainerWithId:tagManager:openType:timeout:notifier: |
Menunggu hingga timeout detik untuk penampung dimuat (non default atau baru bergantung pada openType yang ditentukan) dan memanggil pemberitahuan saat penampung tersedia. | |
(NSTimeInterval) | + defaultTimeout |
Menampilkan waktu tunggu default untuk meminta penampung. |
Dokumentasi Fungsi Anggota
+ (id<TAGContainerFuture>) openContainerWithId: | (NSString *) | containerId | |
tagManager: | (TAGManager *) | tagManager | |
openType: | (TAGOpenType) | openType | |
waktu tunggu: | (NSTimeInterval *) | waktu tunggu | |
Menunggu hingga timeout
detik untuk penampung dimuat (non default atau baru, bergantung pada openType
yang ditentukan) dan menampilkan TAGContainerFuture
.
Jika jenis buka adalah kTAGOpenTypePreferNonDefault
, penampung non-default (disimpan atau diambil dari jaringan) akan dimuat dan TAGContainerFuture
dibatalkan pemblokirannya segera setelah salah satu hal berikut terjadi:
- penampung tersimpan akan dimuat.
- jika tidak ada penampung tersimpan, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau timer berakhir, get (TAGContainerFuture-p) dapat menampilkan penampung default.
Jika jenis yang terbuka adalah kTAGOpenTypePreferFresh
, penampung baru (disimpan atau diambil dari jaringan) akan dimuat dan TAGContainerFuture dibatalkan pemblokirannya segera setelah salah satu hal berikut terjadi:
- penampung baru yang tersimpan dimuat.
- jika tidak ada penampung tersimpan atau penampung tersimpan sudah usang, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau timer berakhir, get (TAGContainerFuture-p) dapat berisi setelan default atau penampung tersimpan yang sudah tidak berlaku.
Jika Anda memanggil salah satu metode openContainer untuk kedua kalinya dengan containerId
tertentu, TAGContainerFuture
akan ditampilkan yang get (TAGContainerFuture-p) akan menampilkan penampung yang sama seperti panggilan pertama.
- Parameter:
-
containerId ID penampung yang akan dimuat. tagManager TAGManager untuk mendapatkan penampung. timeout Jumlah detik maksimum untuk menunggu memuat penampung dari penyimpanan tersimpan. Jika nol, defaultTimeout akan digunakan. openType Pilihan cara membuka penampung.
- Hasil:
- TAGContainerFuture yang akan menunggu hingga
timeout
dan menampilkan penampung saat tersedia.
+ (void) openContainerWithId: | (NSString *) | containerId | |
tagManager: | (TAGManager *) | tagManager | |
openType: | (TAGOpenType) | openType | |
waktu tunggu: | (NSTimeInterval *) | waktu tunggu | |
notifikasi: | (id< TAGContainerOpenerNotifier >) | pemberi tahu | |
Menunggu hingga timeout
detik untuk penampung dimuat (non default atau baru bergantung pada openType
yang ditentukan) dan memanggil pemberitahuan saat penampung tersedia.
Jika jenis yang terbuka adalah kTAGOpenTypePreferNonDefault
, penampung non-default (disimpan atau diambil dari jaringan) akan dimuat dan diteruskan ke pemberi notifikasi. Pemberi tahu dipanggil segera setelah salah satu hal berikut terjadi:
- penampung tersimpan akan dimuat.
- jika tidak ada penampung tersimpan, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau timer berakhir, penampung yang diteruskan ke pemberi notifikasi adalah penampung default.
Jika jenis yang terbuka adalah kTAGOpenTypePreferFresh
, penampung baru (disimpan atau diambil dari jaringan) akan dimuat dan diteruskan ke pemberi notifikasi. Pemberi tahu dipanggil segera setelah salah satu hal berikut terjadi:
- penampung baru yang tersimpan dimuat.
- jika tidak ada penampung tersimpan atau penampung tersimpan sudah usang, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau timer berakhir, penampung yang diteruskan ke pemberi notifikasi mungkin berisi setelan default atau penampung tersimpan yang sudah tidak berlaku.
Jika Anda memanggil salah satu metode openContainer untuk kedua kalinya dengan containerId
tertentu, penampung sama yang ditampilkan dari panggilan sebelumnya akan diteruskan ke pemberi notifikasi segera setelah tersedia.
- Parameter:
-
containerId ID penampung yang akan dimuat. tagManager TAGManager yang digunakan untuk mendapatkan penampung. openType Pilihan cara membuka penampung. timeout Jumlah detik maksimum untuk menunggu memuat penampung dari penyimpanan tersimpan. Jika nol, defaultTimeout akan digunakan. notifikasi Pemberi tahu opsional yang akan dipanggil saat penampung tersedia. Saluran akan dipanggil dengan penampung baru, jika tersedia dan dimuat sebelum waktu tunggu; jika tidak, penampung akan dipanggil dengan penampung yang tidak baru. Perhatikan, notifier dapat dipanggil dari thread berbeda.
+ (NSTimeInterval) defaultTimeout |
Menampilkan waktu tunggu default untuk meminta penampung.
- Hasil:
- Waktu tunggu default dalam detik.