Ringkasan Pendahuluan dan Konten
Beberapa pembaca mengeluh bahwa "Liu Feng hanya menggunakan pesan teks sebagai contoh, tidak pernah menyebutkan pesan grafis, dan tidak tahu cara menggunakan pesan grafis." Yah, saya salah. Saya awalnya berpikir bahwa API dasar dienkapsulasi dan kerangka kerja dibangun, dan kemudian memberikan sampel pesan teks untuk menggunakannya. Mungkin karena keterampilan melukis saya terlalu buruk, kucing yang saya gosok tidak seperti kucing ...
Artikel ini terutama memperkenalkan penggunaan pesan grafik dan teks dalam pengembangan akun publik WeChat, serta beberapa manifestasi dari pesan grafik dan teks. Judulnya bernama "All Guide to Picture and Text Message". Ini jelas bukan pesta judul. Ini untuk mengambil kesempatan ini untuk menjernihkan semua masalah, kekhawatiran, dan hambatan yang berkaitan dengan pesan gambar dan teks.
Deskripsi Parameter Utama Pesan Grafik dan Teks
Melalui Panduan Antarmuka Pesan WeChat Resmi, Anda dapat melihat parameter pesan grafik dan teks, seperti yang ditunjukkan pada gambar di bawah ini:
Dari gambar, kita bisa belajar:
Berbagai ekspresi pesan grafik dan teks
Berikut ini adalah kode yang secara langsung menunjukkan penggunaan lima bentuk utama pesan grafik dan teks. Kode sumber adalah sebagai berikut:
Paket org.liufeng.course.service; impor java.util.arraylist; impor java.util.date; impor java.util.list; impor java.util.map; import javax.servlet.http.httpservletrequest; impor org.liuf.htroSage. org.liufeng.course.message.resp.newsmessage; impor org.liufeng.course.message.resp.textmessage; impor org.liufeng.course.util.messageutil;/** Kelas Layanan Core * * @Author Liufeng * @date 2013-07 WeChat * * @param permintaan * @return */ public static string ProcessRequest (permintaan httpservletRequest) {string respMessage = null; coba {// xml permintaan parsing peta <string, string> requestMap = messageutil.parsexml (request); // Akun Pengirim (Open_ID) String FromUserName = RequestMap.get ("FromUserName"); // string akun publik Tousername = requestMap.get ("Tousername"); // jenis pesan string msgType = requestMap.get ("msgType"); // Balas default untuk pesan teks ini TextMessage textMessage = new TextMessage (); textmessage.settousername (fromusername); TextMessage.setFromusername (Tousername); TextMessage.setCreateTime (tanggal baru (). GetTime ()); TextMessage.setMSgType (messageutil.resp_message_type_text); TextMessage.setFuncflag (0); // Karena nilai atribut HREF harus disebabkan dalam kutipan ganda, ini bertentangan dengan kutipan ganda dari string itu sendiri, TextMessage.setContent ("Selamat datang di <a href =/" http://blog.csdn.net/lyq8479/ "> Liu Feng's Blog </a>!"); " // Konversi objek pesan teks ke xml string respMessage = messageutil.textmessageToxMl (textMessage); // pesan teks if (msgtype.equals (messageutil.req_message_type_text)) {// menerima konten pesan teks yang dikirim oleh string pengguna content = requestMap.get ("content"); // buat pesan teks newsmessage newsmessage = newsmessage baru (); Newsmessage.setousername (Fromusername); Newsmessage.setFromusername (Tousername); Newsmessage.setCreateTime (tanggal baru (). GetTime ()); NewsMessage.setMSgType (Messageutil.resp_message_type_news); Newsmessage.setFuncflag (0); Daftar <Artikel> ArticLeList = ArrayList baru <Artticle> (); // pesan teks tunggal if ("1" .Equals (konten)) {artikel artikel = artikel baru (); Article.settitle ("WeChat Public Account Development Tutorial Java Version"); Article.setDescription ("Liu Feng, lahir pada 1980 -an, memiliki 4 bulan pengalaman dalam pengembangan akun publik WeChat. Untuk membantu pemula memulai, serangkaian tutorial ini diluncurkan secara khusus, dan saya berharap dapat mengambil kesempatan ini untuk bertemu lebih banyak teman!"); artikel.setPicUrl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); artikel.setUrl ("http://blog.csdn.net/lyq8479"); Articlelist.Add (artikel); // Atur jumlah pesan grafis Newsmessage.setarticlecount (ArticLelist.size ()); // Atur koleksi grafis yang terkandung dalam pesan grafis Newsmessage.setarticles (ArticLelist); // Konversi objek pesan grafis menjadi string xml respMessage = messageutil.newsmessageToxML (NewsMessage); } // Pesan teks tunggal-Lakukan gambar lain jika ("2" .Equals (konten)) {artikel artikel = artikel baru (); Article.settitle ("WeChat Public Account Development Tutorial Java Version"); // Emotikon QQ dan emotikon simbolik dapat digunakan dalam pesan teks artikel artikel. Konfigurasi antarmuka, pengemasan pesan, konstruksi kerangka kerja, pengiriman emotikon QQ, pengiriman simbol emotikon, dll. /N /N kemudian, ia juga direncanakan untuk meluncurkan beberapa fungsi pengembangan fungsi praktis, seperti ramalan cuaca, pencarian periferal, fungsi obrolan, dll. "); // atur gambar ke artikel kosong.setPicurl (""); artikel.setUrl ("http://blog.csdn.net/lyq8479"); Articlelist.Add (artikel); Newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticLelist); respMessage = messageutil.newsmessageToxMl (Newsmessage); } // pesan teks multi-grafik lain jika ("3" .Equals (konten)) {artikel artikel1 = artikel baru (); Article1.settitle ("Tutorial Pengembangan Akun Publik WeChat/N Pendahuluan"); artikel1.setDescription (""); artikel1.setPicUrl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); artikel1.setUrl ("http://blog.csdn.net/lyq8479/article/details/8937622"); Artikel artikel2 = artikel baru (); Artikel2.Settitle ("Bagian 2/N Jenis Akun Publik WeChat"); artikel2.setDescription (""); artikel2.setPicUrl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); artikel2.setUrl ("http://blog.csdn.net/lyq8479/article/details/8941577"); Artikel2.setUrl ("http://blog.csdn.net/lyq8479/article/details/8941577"); Artikel artikel3 = artikel baru (); Artikel3.Settitle ("Telegraph 3/N Mode Pengembangan dan Konfigurasi Antarmuka"); artikel3.setDescription (""); artikel3.setPicUrl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); artikel3.setUrl ("http://blog.csdn.net/lyq8479/article/details/8944988"); ArticLelist.Add (Article1); Articlelist.add (Article2); Articlelist.Add (Article3); Newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticLelist); respMessage = messageutil.newsmessageToxMl (Newsmessage); } // Beberapa pesan grafik dan teks --- pesan pertama tidak berisi gambar lain jika ("4" .Equals (konten)) {artikel artikel1 = artikel baru (); Article1.settitle ("WeChat Public Account Account Tutorial Java Version"); artikel1.setDescription (""); // atur gambar ke mengosongkan artikel1.setpicurl (""); artikel1.setUrl ("http://blog.csdn.net/lyq8479"); Artikel artikel2 = artikel baru (); artikel2.settitle ("Paket Pesan dan Alat Pemrosesan Pesan"); artikel2.setDescription (""); artikel2.setPicUrl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); artikel2.setUrl ("http://blog.csdn.net/lyq8479/article/details/8949088"); Artikel artikel3 = artikel baru (); Artikel3.Settitle ("Pasal 5/nreceive dan respons dari berbagai pesan"); artikel3.setDescription (""); artikel3.setPicUrl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); artikel3.setUrl ("http://blog.csdn.net/lyq8479/article/details/8952173"); Artikel artikel4 = artikel baru (); artikel4.settitle ("Pasal 6/nreveal batas panjang konten pesan teks"); artikel4.setDescription (""); artikel4.setPicUrl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); artikel4.setUrl ("http://blog.csdn.net/lyq8479/article/details/8967824"); ArticLelist.Add (Article1); Articlelist.add (Article2); Articlelist.Add (Article3); Articlelist.add (Article4); Newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticLelist); respMessage = messageutil.newsmessageToxMl (Newsmessage); } // Beberapa pesan grafis --- pesan terakhir tidak berisi gambar lain jika ("5" .Equals (konten)) {artikel artikel1 = artikel baru (); Article1.settitle ("Penggunaan Newline dalam Pesan Teks"); artikel1.setDescription (""); artikel1.setPicUrl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); artikel1.setUrl ("http://blog.csdn.net/lyq8479/article/details/9141467"); Artikel artikel2 = artikel baru (); artikel2.settitle ("Gunakan hyperlink web dalam pesan teks"); artikel2.setDescription (""); artikel2.setPicUrl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); artikel2.setUrl ("http://blog.csdn.net/lyq8479/article/details/9157455"); Artikel2.setUrl ("http://blog.csdn.net/lyq8479/article/details/9157455"); Artikel artikel3 = artikel baru (); Artikel3.Settitle ("Jika Anda pikir artikel ini bermanfaat bagi Anda, silakan tinggalkan pesan di blog atau ikuti akun publik WeChat Xiaoqrobot untuk mendukung Liu Feng!"); artikel3.setDescription (""); // atur gambar ke artikel kosong3.setPicurl (""); artikel3.setUrl ("http://blog.csdn.net/lyq8479"); ArticLelist.Add (Article1); Articlelist.add (Article2); Articlelist.Add (Article3); Newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticLelist); respMessage = messageutil.newsmessageToxMl (Newsmessage); }}} catch (Exception e) {e.printstacktrace (); } return respMessage; } / ** * Konversi ekspresi emoji (hex -> utf -16) * * @param hexemoji * @return * / public static string emoji (int hexemoji) {return string.valueof (karakter.tochars (hexemoji))); }}Fungsi yang diimplementasikan oleh kode di atas adalah untuk membalas pengguna dengan lima bentuk pesan grafis yang berbeda, sebagai berikut:
a) Pengguna mengirim 1 dan membalas satu pesan teks. Baris Kode Referensi 68 ~ 81, efek operasi adalah sebagai berikut:
b) Pengguna mengirim 2, balas pesan teks - tanpa gambar. Baris Kode Referensi 82 ~ 96, efek operasi adalah sebagai berikut:
Deskripsi: Judul dan deskripsi pesan grafis dapat berisi ekspresi QQ dan ekspresi simbolik.
c) Pengguna mengirim 3 dan menanggapi beberapa pesan grafik dan teks. Baris Kode Referensi 97 ~ 123, efek operasi adalah sebagai berikut:
Catatan: Untuk pesan multi-grafik, deskripsi tidak akan ditampilkan. Istirahat garis dapat digunakan dalam judul untuk membuat tampilan lebih indah.
d) Pengguna mengirim 4 dan membalas beberapa pesan grafis-pesan pertama tidak berisi gambar. Baris Kode Referensi 124 ~ 158, efek operasi adalah sebagai berikut:
e) Pengguna mengirim 5 dan menanggapi beberapa pesan grafis-pesan terakhir tidak berisi gambar. Baris Kode Referensi 159 ~ 186, efek operasi adalah sebagai berikut:
Dapat dilihat bahwa pesan grafik dan teks memiliki konten yang kaya dan beragam bentuk ekspresi. Saya berharap semua orang dapat menggunakannya secara wajar sesuai dengan karakteristik masing -masing dan kebutuhan penggunaan aktual.
Akhirnya, berdasarkan pengalaman praktis, saya akan meringkas penggunaan pesan grafis dan teks :
1) Pastikan untuk menetapkan nilai ke atribut URL dari pesan grafik dan teks. Apakah itu satu gambar, banyak gambar, atau gambar tanpa gambar, mereka dapat diklik oleh pengguna. Jika URL kosong, pengguna akan membuka halaman kosong setelah mengklik, yang memberi pengguna pengalaman yang sangat buruk;
2) Hanya deskripsi gambar dan teks tunggal yang akan ditampilkan, dan deskripsi beberapa gambar dan teks tidak akan ditampilkan ;
3) Emotikon QQ dan emotikon simbolik dapat digunakan dalam judul dan deskripsi pesan grafis dan teks. Penggunaan rasional emoji akan membuat pesan lebih jelas;
4) Baris istirahat dapat digunakan dalam judul dan deskripsi pesan grafis dan teks. Penggunaan jeda garis yang rasional akan membuat struktur konten lebih jelas;
5) Tautan Hypertext (tag <a> HTML) tidak didukung dalam judul dan deskripsi pesan grafik dan teks. Secara teknis tidak hanya tidak mungkin, tetapi juga masuk akal secara logis, karena setiap lokasi dari grafik dan pesan teks diklik, browser bawaan WeChat akan dipanggil untuk membuka URL. Jika Anda menaruh beberapa hyperlink di judul dan deskripsi, Anda tidak tahu halaman mana yang harus diklik untuk dibuka. Saya benar -benar tidak mengerti mengapa beberapa siswa mengajukan pertanyaan ini. Bukankah baik untuk mendesainnya sebanyak mungkin gambar dan teks?
6) Tautan dan tautan gambar untuk pesan grafik dan teks dapat menggunakan sumber daya di bawah nama domain eksternal. Misalnya, dalam contoh ini: tautan Avatar dan Blog Post Liu Feng adalah sumber daya ke situs web CSDN. Ada banyak orang yang percaya bahwa url dan picurl dari pesan grafis dan teks tidak dapat digunakan untuk tautan eksternal. Saya tidak tahu dari mana rumor ini dimulai. Latihan adalah satu -satunya kriteria untuk menguji kebenaran!
7) Gunakan gambar ukuran yang ditentukan. Ukuran gambar yang disarankan dari gambar pertama adalah 640*320, dan ukuran gambar yang disarankan dari gambar lainnya adalah 80*80. Jika gambar yang digunakan terlalu besar, itu akan memuat secara perlahan dan mengkonsumsi lalu lintas; Jika gambar yang digunakan terlalu kecil, itu akan diregangkan setelah ditampilkan, yang akan jelek jika terdistorsi.
8) Pesan gambar dan teks disarankan untuk dikendalikan pada 1-4. Dengan cara ini, satu layar dapat ditampilkan di sebagian besar terminal, dan pengguna dapat secara kasar memahami konten utama pesan hanya dengan sekilas, yang kemungkinan besar akan mendorong pengguna untuk mengklik dan membaca.
Di atas adalah semua konten artikel ini. Saya berharap konten artikel ini akan membantu untuk belajar atau bekerja semua orang. Saya juga berharap untuk mendukung wulin.com lebih lanjut!