Bạn đang xem : bộ đếm thời gian thực trên facebook

Vài tháng trước, tôi đã làm việc trong một dự án cho Tổ chức Air Canada cho phép người dùng quyên góp số dặm Aeroplan của họ cho Tổ chức Air Canada thông qua một trang Facebook. Đối với mỗi dặm bay do người dùng tặng, Air Canada sẽ tương ứng. Đối với những người dùng không có tài khoản Aeroplan, họ có thể “thích” trang và Air Canada sẽ thay mặt người dùng tặng 10 dặm bay.

Thiết kế của tôi cho trang Facebook của Tổ chức Air Canada

Kế hoạch là để bộ đếm ở trên cùng bên phải được cập nhật theo thời gian thực bất cứ khi nào người dùng đóng góp thông qua hệ thống dặm bay Aeroplan hoặc “thích” trang trên Facebook và làm sinh động các con số. Chúng tôi đã có quyền truy cập vào một API trả về kết quả ở định dạng JSON cho phía Aeroplan nhưng tôi phải lấy thông tin tương tự từ Facebook mỗi khi ai đó “thích” trang.

Bộ đếm số tiền quyên góp theo thời gian thực

Tôi nghĩ rằng những người khác có thể hưởng lợi từ những gì tôi học được trong quá trình thực hiện điều này và trong khi giải pháp đầy đủ sẽ quá dài để viết và tôi thực sự không thể chia sẻ nó, tôi có thể cung cấp một phiên bản đơn giản để bạn có thể điều chỉnh phù hợp với nhu cầu của riêng bạn.

Nội dung tôi sẽ đề cập:

  • Viết một máy chủ NodeJS để có được số lượt thích của một người dùng / trang cụ thể trên Facebook trong một khoảng thời gian nhất định và lưu trữ nó vào một tệp văn bản.
  • Sử dụng jQuery để tìm nạp số đếm từ tệp văn bản và tạo hiệu ứng cho bộ đếm / đồng hồ đo quãng đường với giá trị mới.

Giải pháp tôi cần không cho phép trừ các giá trị nên bộ đếm này không xử lý phép trừ một cách linh hoạt (nó nhảy).

Rõ ràng bạn có thể chỉ cần sử dụng jQuery để gọi số trực tiếp từ Facebook nhưng nếu bạn nhận được lượng truy cập tăng vọt vào trang của mình bằng bộ đếm, nó sẽ thực hiện nhiều cuộc gọi hơn mức cần thiết đến máy chủ của Facebook, có thể dẫn đến lỗi. Máy chủ NodeJS chỉ hoạt động như một bộ đệm.

Truy cập số lượng “thích”

Sau khi tìm hiểu kỹ, tôi đã tìm thấy URL mà tôi có thể truy vấn http://graph.facebook.com/19292868552 . Trong đó 19292868552 là ID trang / người. URL trả về một đối tượng JSON chứa lượt thích là một trong các thuộc tính của nó.

  

{

"giới thiệu"

:

"Phát triển ứng dụng của bạn với Facebook \ nhttps: // Develop.facebook.com/ "

,

"danh mục"

:

"Sản phẩm / dịch vụ"

,

"company_overview"

:

"Nền tảng Facebook cho phép mọi người tạo ứng dụng xã hội trên Facebook , di động và web. \ n \ n "

,

"is_published"

:

true

,

"speak_about_count"

:

55297

,

"tên người dùng"

:

"FacebookDevelopers"

,

"trang web"

:

"http://developers.facebook.com"

,

"were_here_count"

:

0

,

"id"

:

"19292868552"

,

"name"

:

"Nhà phát triển Facebook"

,

"link"

:

"http://www.facebook.com/ Nhà phát triển Facebook "

,

"lượt thích"

:

1358310

,

"cover"

:

{

"cover_id"

:

"10151383067598553"

,

"source"

:

"http://sphotos-g.ak. fbcdn.net/hphotos-ak-ash3/s720x720/553181_10151383067598553_2069064298_n.png"

,

"offset_y"

:

0

,

"offset_x"

:

0

}

}

< p>

Một số nghiên cứu thêm về mã nguồn HTML của một trang Facebook thực tế đã tiết lộ ID mà tôi cần.

Tìm ID trong mã nguồn luôn thay đổi của Facebook

Tôi đã tìm thấy một bài viết tuyệt vời khi truy vấn Facebook bằng NodeJS, điều này đã giúp làm cho quả bóng lăn nhưng để tất cả các phần hoạt động cùng nhau trên phần phụ trợ, tôi phải mở rộng về điều này một chút cho những gì tôi cần. Bạn có thể thấy nó đủ.

Máy chủ NodeJS

Đây là mã được sử dụng cho phần Facebook NodeJS:

 

 

var

http

=

yêu cầu

(

" http "

)

;

var

sys

=

yêu cầu

(

" hệ thống "

)

;

var

event

=

yêu cầu

(

" sự kiện "

)

;

var

url

=

yêu cầu

(

" url "

)

;

var

path

=

yêu cầu

(

" đường dẫn "

)

;

var

fs

=

yêu cầu

(

'fs'

)

;

var

ping_int

=

2000

;

var

waitTime

=

5

;

var

ga lăng_int

=

1000

*

60

*

Thời gian chờ

;

var

data_host

=

'graph.facebook.com'

< p class = "dấu chấm câu mã thông báo">;

var

data_path

=

'/ 19292868552'

;

var

httpOptions

=

{

host

:

data_host

,

cổng

:

80 p>

,

đường dẫn

:

data_path

,

phương thức < p class

'NHẬN'

}

;

var

count_db

=

"../ data / count.txt" p>

;

var

result_emitter

=

new

sự kiện

.

EventEmitter

(

) p>

;

var

nghe

=

phát ra kết quả_

.

trên

(

" dữ liệu "

, < / p>

chức năng

(

kết quả

)

{

nếu

(

kết quả

===

200

)

{

setTimeout >

(

get_data

,

ping_int

)

;

}

else

{

var

reqDate

=

new

Ngày

(

)

; bảng điều khiển

.

nhật ký

(

" Kết nối tiết lưu cho "

+

ga-ga_int

+

" ms ("

+

waitTime

+

" phút). < / p>

+

reqDate

)

;

setTimeout

(

get_data

,

bướm ga_int

)

;

}

}

,

"lỗi"

,

hàm

(

lỗi

)

{

bảng điều khiển

.

nhật ký

(

" Đã phát hiện lỗi result_emitter "

)

;

bảng điều khiển

.

nhật ký

(

" Tiếp tục ... "

)

;

}

,

"uncaughtException"

,

chức năng

(

uncaughtException

)

{

bảng điều khiển

.

nhật ký

(

" Đã bắt được một ngoại lệ không cần thiết "

)

;

bảng điều khiển

.

nhật ký

(

" Tiếp tục ... "

)

;

}

)

;

function

get_data

(

)

{

var

reqDate

=

new

Ngày

(

)

;

var

request

=

http

.

yêu cầu

(

httpOptions

)

; > yêu cầu

.

addListener

(

" phản hồi "

,

hàm

(>

phản hồi

)

{

bảng điều khiển

.

nhật ký

(

" Đã gửi yêu cầu NHẬN: "

+

reqDate

)

;

đáp ứng

.

setEncoding

(

'utf8'

)

;

var

body

=

""

;

đáp ứng

.

addListener

(

" dữ liệu "

,

hàm

(

dữ liệu

)

{

body

+ =

dữ liệu

;

}

)

;

đáp ứng

.

addListener

(

" end "

,

hàm

(>

)

{

var

data

=

JSON

.

phân tích cú pháp

(

body

)

;

var

result

=

Toán học

.

vòng

(

data

.

lượt thích

) p>

;

bảng điều khiển

.

nhật ký

(

" kết quả: "

+

kết quả

)

; < / p>

var

file_check

=

fs

.

beingSync

(

count_db

)

; >

nếu

(

file_check

)

{

var

old_val

=

fs

.

readFileSync

(

count_db

,

'utf8' < / p>

)

;

bảng điều khiển

.

nhật ký

(

" giá trị cũ: "

+

old_val

)

;

nếu

(

kết quả

! ==

old_val

)

{

bảng điều khiển

.

nhật ký

(

" new_val: "

+

kết quả

)

; < / p> fs

.

writeFileSync

(

count_db

,

kết quả

,

'utf8'

) < / p>

;

bảng điều khiển

.

nhật ký

(

" Đã cập nhật DBs: "

+

reqDate

+

" với "

+

kết quả

)

;

}

}

}

)

;

result_emitter

.

phát ra

(

"dữ liệu"

,

response

.

statusCode

)

;

}

)

;

yêu cầu

.

kết thúc

(

)

;

}

get_data

(

)

;

< p>

http: // www / p>

< / p>

< p>

http: // www / p>

< / p>

Như bạn có thể thấy, tôi đã không sử dụng NodeJS ở dạng dự kiến ​​(không đồng bộ) và thay vào đó đã sử dụng phương thức Đồng bộ hóa vì việc thực hiện nó không đồng bộ khiến ping tôi nterval không liên quan và gây ra lỗi cho tôi.

Nếu bạn chỉ chạy Node Counter.js từ thư mục chứa tệp đó trong thiết bị đầu cuối của bạn, nó sẽ bắt đầu xuất dữ liệu ra tệp văn bản mà bạn đã chỉ định ở dòng 23.

HTML

HTML và CSS cho việc này hầu hết là từ một bài đăng trên blog mà tôi tìm thấy nhưng tôi đã phải thay đổi Javascript một chút để nó hoạt động theo cách tôi cần>

CSS

 

body

{

margin

:

0

;

font-family

:

"Helvetica Neue"

,

Helvetica

,

Arial

,

sans-serif

;

font-size

:

14px

;

line-height

:

20px

;

color

:

# 002856

;

background-color

:

transparent

;

}

# counter

{

text-biến đổi

:

chữ hoa

;

text-align

:

center

;

margin

:

20px auto

;

width

:

310px

;

}

. counter

{

display

:

khối

;

float

:

left

;

font-size

:

42px

;

line-height

:

55px

;

margin-bottom

:

15px

;

}

. counter span.digit

{

background

:

# 5974ed

;

background-clip

:

border

;

background-color

:

# 5974ed

;

background-image

:

- moz-linear-gradient

< p class = "dấu chấm câu"> (

top

,

# 5974ed

,

# 2b46a7

)

;

background-image

:

- webkit-gradient

(

tuyến tính

,

0 0

,

0 100%

,

từ

(

# 5974ed

) < / p>

,

thành

(

# 2b46a7

)

)

;

background-image

:

- webkit-linear-gradient

< p class = "dấu chấm câu"> (

top

,

# 5974ed

,

# 2b46a7

)

;

background-image

:

- o-linear-gradient

< p class = "dấu chấm câu"> (

top

,

# 5974ed

,

# 2b46a7

)

;

background-image

:

linear-gradient

(

đến dưới cùng

,

# 5974ed

,

# 2b46a7

)

;

background-repeat

:

repeat-x

;

bộ lọc

:

progid

:

DXImageTransform.Microsoft.

gradient

(

startColorstr =

' # ff5974ed '

,

endColorstr =

' # ff2b46a7 '

,

GradientType = 0

)

;

- webkit-border-radius

:

5px

;

- moz-border-radius

:

5px

;

border-radius

:

5px

;

- webkit-box-shadow

:

0px 0px 5px

rgba

(

0

,

0

,

0

,

0,5

)

;

- moz-box-shadow

:

0px 0px 5px

rgba

(

0

,

0

,

0

,

0,5

)

;

box-shadow

:

0px 0px 5px

rgba

(

0

,

0

,

0

,

0,5

)

;

border

:

1px solid # e1e1e1

;

zoom

:

1

;

color

:

#ffffff

;

display

:

khối

;

float

:

left

;

height

:

55px

;

margin

:

0 1,9px

;

tràn

:

ẩn

;

padding

:

0

;

vị trí

:

tương đối

;

text-align

:

center

;

width

:

35px

;

font-weight

:

700

;

text-shadow

:

0 -1px 1px

rgba

(

0

,

0

,

0

">,

0,5

)

,

0 1px 0 #ffffff

;

}

. counter span.digit span

{

line-height

:

44px

;

vị trí

:

tương đối

;

top

:

0

;

}

. counter span.separator

{

display

:

khối

;

float

:

left

;

vị trí

:

tương đối

;

top

:

0,5em

;

font-size

:

32px

;

line-height

:

150%

;

color

:

# 2b46a7

;

}

a

{

color

:

# 2b46a7

;

letter-spacing

:

.2em

;

text-decoration

:

none

;

}

< p>

http: // www / p>

< / p>

< p>

JavaScript

 

var

refreshcounts

=

0

;

var

likeInterval

=

3

*

1000

;

var

killTime

=

5

;

var

stopTimer

=

1000

*

30

*

killTime

;

var

count_url

=

"data / count.txt"

< p class = "dấu chấm câu mã thông báo">;

function

update_count

(

)

{

var

data

=

get_count

(

)

;

var

count

=

Toán học

.

vòng

(

data

)

; >

var

umbers

=

[

]

;

value

sNumber

=

.

toString

(

)

;

var

counterLength

=

7

;

var

valLength

=

sNumber

.

length

;

cho

(

var

trong

=

0

,

len

=

counterLength

;

i

& lt;

len

;

i

1

)

{

var

offset

=

counterLength

-

valLength

;

chữ số

.

đẩy

(

+

sNumber

.

charAt

(

i

-

)

)

;

}

trả về các chữ số

;

}

function

get_count

(

)

{

$

.

ajax

(

{

url

:

count_url

,

:

'get',

dataType

:

'json'

,

async

:

false

,

thành công

:

function

(

dữ liệu

)

{ đếm

=

data

;

}

}

)

;

số lượt trả về

;

}

function

stop_counting

(

)

{

clearInterval

(

refreshcounts

)

;

bảng điều khiển

.

nhật ký

(

" làm mới trang để xem các bản cập nhật "

)

;

}

chức năng

initCounter

(

newVal

)

{

$

(

". bộ đếm"

)

.

tìm

(

'. digit'

)

.

mỗi

(

hàm

(

p>

i

)

{

var

$ display

=

$

(

cái này

)

;

value

$ digit

=

$ display

.

tìm

(

'span'

)

;

var

$ oldNum

=

$ digit

"chức năng mã thông báo"> attr

(

'title'

)

;

$ digit

.

html

(

[

0

,

1

,

2

,

2> 3

,

4

,

5

,

6

,

7

,

8

,

9

,

0

0

9 p>

]

.

đảo ngược

(

)

.

tham gia

(

'& lt; br / & gt; '

)

)

;

$ digit

.

css

(

{

top

:

'-'

+

(

Toán học

.

vòng

( p> $ display

.

chiều cao

(

)

)

*

(

10

-

Toán học

. chức năng mã thông báo "> vòng

(

$ digit

.

attr

(

'tiêu đề'

)

)

)

)

+

'px'

>

}

)

;

$ digit

.

attr

(

'tiêu đề'

,

newVal

[

i

]

)

;

animateDigit

(

$ display

,

$ oldNum

)

;

}

)

;

}

chức năng

update_counter

(

newVal

)

{

$

(

". bộ đếm"

)

.

tìm

(

'. digit'

)

.

mỗi

(

hàm

(

p>

i

)

{

var

$ display

=

$

(

cái này

)

;

value

$ digit

=

$ display

.

tìm

'span'

)

;

var

$ oldNum

=

$ digit

"chức năng mã thông báo"> attr

(

'title'

)

;

$ digit

.

attr

(

'tiêu đề'

,

newVal

[

i

]

)

;

animateDigit

(

$ display

,

$ oldNum

)

;

}

)

;

}

chức năng

animateDigit

(

displayin

,

)

{

var

$ display

=

displayin

;

value

$ digit

=

$ display

.

tìm

'span'

)

;

var

$ newNum

=

Toán học

. chức năng mã thông báo "> vòng

(

$ digit

.

attr

(

" title "

)

)

;

var

$ oldNum

=

Toán học

. chức năng mã thông báo "> vòng

(

)

; p>

var

$ diff

=

$ newNum

-

$ oldNum

;

nếu

(

$ diff

==

" - 9 "

)

{

$ digit

.

hoạt ảnh

(

{

top

:

'+ ='

+

55

+

'px'

class = "dấu chấm câu mã thông báo">}

,

1000

,

chức năng

(

)

{

$ digit

.

css

(

{

top

:

'-'

+ < / p>

550

+

'px'

}

)

;

}

)

;

}

khác

nếu

(

$ newNum

& lt;

$ oldNum

& amp; & amp;

$ diff

! ==

0

)

{

var

posMove

=

Toán học

.

abs

(

$ diff

)

; $ digit

.

hoạt ảnh

(

{

top

:

'+ ='

+

55

*

(

10

-

$ oldNum

)

+

'px'

}

,

500

,

hàm

(

)

{

$ digit

.

css

(

{

top

:

'-'

+ < / p>

550

+

'px'

}

)

;

}

)

;

$ digit

.

hoạt ảnh

(

{

top

:

'+ ='

+

55

*

$ newNum

+

'px'

}

,

1000

)

;

}

khác

{

$ digit

.

hoạt ảnh

(

{

top

:

'+ ='

+

$ display

.

chiều cao

(

)

*

$ diff

+

'px'

}

,

1000

)

;

}

}

function

update_all

(

)

{

var

newVal

=

update_count

(

)

;

update_counter

(

newVal

)

;

}

var

newVal

=

update_count

(

)

;

$

(

"# bắt đầu"

)

.

nhấp vào

(

function

(

e

)

{

e

.

PreventDefault

(

)

;

$

(

cái này

)

.

xóa

(

)

;

setTimeout

(

"initCounter (newVal)"

,

1500

)

; < / p> refreshcounts

=

setInterval

(

" update_all () "

,

likeInterval

)

;

setTimeout

(

"stop_counting ()"

,

stopTimer

)

;

}

)

;

< / p>

< p>

< / p>

< p>

< / p>

Bản trình diễn

Tôi sẽ không chạy một máy chủ NodeJS chỉ cho các mục đích của bài đăng này, vì vậy bạn sẽ phải chạy cục bộ này bằng cách sử dụng liên kết tải xuống ở cuối bài đăng này hoặc viết của riêng bạn để xem hiệu quả của việc bạn thích a và xem nó hoạt hình hơn nữa.

Để tự kiểm tra điều này, hãy tải xuống mã sau đó cd vào thư mục nodejs và chạy node counter.js . Mở counter.html trong trình duyệt và nhấp vào "bắt đầu". Miễn là cửa sổ đầu cuối vẫn mở, số lượng sẽ được cập nhật. Nếu bạn để lại ID như tôi đã viết, trang này sẽ cập nhật khá thường xuyên vì đây là trang Nhà phát triển của Facebook cập nhật rất nhiều.

Tôi đã sử dụng Forever nên tôi không phải mở cửa sổ và tôi cũng đặt bộ đếm trên trang ngừng kiểm tra sau 3 phút để tránh làm chết trình duyệt của bạn.

Như tôi đã đề cập trước đó, tôi đã không xây dựng phép trừ các giá trị để bộ đếm nhảy. Tuy nhiên, với một chút thử nghiệm, bạn có thể làm cho nó hoạt động.

Kết luận

Với những hạn chế mà tôi phải giải quyết (lượt thích / quyên góp không bao giờ có thể giảm xuống, chỉ tăng và giảm điểm / giới hạn), cách tiếp cận mà tôi đã thực hiện là truy vấn Facebook về số lượt "thích" cứ sau 2 giây và viết nó vào một tệp văn bản. Tôi cũng làm như vậy với Aeroplan để nhận được số dặm được tặng. Điều này đã được thực hiện với hai máy chủ NodeJS riêng biệt. Sau đó, tôi đã viết một máy chủ NodeJS thứ ba để nắm bắt đầu ra từ các tệp văn bản đó, tính toán các số khác cần thiết cho phần nguồn của bộ đếm và ghi tất cả chúng vào một tệp văn bản khác ở định dạng JSON để mã giao diện người dùng cho bộ đếm có thể dễ dàng. thực hiện một truy vấn ajax cho tệp đó. Máy chủ "máy tính" thứ ba phải tự động hủy một trong các chức năng của nó khi số tiền quyên góp đạt đến giới hạn mà Air Canada đã đặt và sau đó đọc từ các tệp khác nhau kể từ thời điểm đó. Tôi đã sử dụng Forever để duy trì hoạt động của các máy chủ NodeJS, giúp việc khởi động lại chúng và giám sát thực sự dễ dàng.

Tôi chắc rằng có thể có nhiều cách khác để nhận được số lượt thích nhưng dường như không cần thiết phải truy cập vào các ứng dụng Facebook chính thức và API của chúng cho dự án cụ thể này và trong khi PHP, curl hoặc cronjob có thể đạt được kết quả tương tự từ góc độ máy chủ / phụ trợ, cách tiếp cận này cho phép tôi dễ dàng cô lập các vấn đề khi chúng xảy ra và cập nhật các giá trị theo cách thủ công nếu và khi tôi cần.


Xem thêm những thông tin liên quan đến chủ đề bộ đếm thời gian thực facebook

Tạo bộ đếm thời gian đã Livestream như Độ Mixi trong OBS Studio | Thủ thuật Stream #6

alt

  • Tác giả: Tis Che Official
  • Ngày đăng: 2020-09-08
  • Đánh giá: 4 ⭐ ( 7129 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Video này mình xin chia sẽ cách tạo bộ đếm thời gian đã livestream trên Obs Studio như của anh Độ Mixi nha.
    ➢ Những mốc thời gian trong video:
    00:00 Giới thiệu
    00:37 Thêm khung webcam
    01:07 Thêm Widget Timer vào Obs
    03:16 Xóa viền của khung thời gian
    03:49 Tạo đổ bóng của khung thời gian
    06:00 Setup lại livestream
    06:43 Reset lại bộ đếm thời gian
    07:08 Kết thúc video & tạm biệt
    ➥ Chia sẽ cách làm Khung Overlay như trong video: https://youtu.be/aqdMjVCDWAY
    ➥ Ngoài ra mình có 1 series về Overlay obs, các bạn có thể tham khảo ạ: https://bit.ly/lamkhungoverlay

    ➥ Mình đã tổng hợp những video có thể giúp bạn tối ưu việc Stream nha:
    ➢ Cách làm Overlays bằng Photoshop & After Effects: https://youtu.be/O-GaEdIUEz8
    ➢ Cách kết nối Webcam từ Camera hành trình: https://youtu.be/vPjnnNG1KD8
    ➢ Sử dụng điện thoại làm Webcam cho máy tính ít delay: https://youtu.be/ztFx3ldJwa8
    ➢ Dùng điện thoại làm webcam siêu nét cho máy tính (update): https://youtu.be/7NU0tnU0Kx4
    ➢ Truyền màn hình Android lên PC có âm thanh đơn giản không cần app: https://youtu.be/Z_6ppcAsek4
    ➢ Truyền màn hình Android lên PC có âm thanh bằng dây cáp: https://youtu.be/eWcjKBYjwzA
    ➢ Truyền màn hình Iphone lên PC có âm thanh đơn giản: https://youtu.be/yqnjm6LOVXY
    ➢ Làm hiệu ứng Đăng Ký, Nhấn Chuông cho kênh Youtube: https://youtu.be/dNx1h8Qw0qQ
    ➢ Dùng điện thoại làm màn hình phụ: https://youtu.be/Wms1MFvDdP8
    ➢ Dùng máy tính cũ làm màn hình phụ: https://youtu.be/tSFazXvl0HA
    ➢ Xóa phông xanh trên OBS Studio: https://youtu.be/kQXMUKchEeg
    ➢ Tạo bộ đếm thời gian đã Stream: https://youtu.be/Wq5iGSAGMj4
    ➢ Tai nghe điện thoại làm micro cho pc: https://youtu.be/P4uVOe6c4j8
    ➢ Tạo đồng hồ thời gian cho Bóng Đá: https://youtu.be/_jpIhJSjbbc
    ➢ Cách làm Chatbox Youtube & Facebook trên Obs Studio: https://youtu.be/SxG-ltz1c3I
    ➢ Làm video chuyển cảnh khi Stream trên OBS Studio: https://youtu.be/Q_dHZbSK-Zs
    ➢ Tạo Subcount đếm lượt đăng ký trực tiếp OBS: https://youtu.be/hAHXxopMB4g

    Thông tin về video:
    - Phần mềm quay màn hình: Bandicam
    - Micro: Woaichang BM900
    - Nội dung: Tạo bộ đếm thời gian đã livestream trên OBS Studio
    - Nguồn ảnh mẫu: Mixigaming
    ➥ Hashtags: TisCheOfficial
    ĐếmThờiGianStream CountUpTimer
    ThờiGianĐãLivestream BộĐếmThờiGian
    ThủThuậtObs ThủThuậtStream
    thuthuatstream6 thuthuatstream7
    tạo thời gian cho obs studio
    thời gian đã livestream obs studio
    thủ thuật stream 6, thủ thuật stream 7
    ----------------------------------
    ➢ Hãy ủng hộ kênh Tis Che Official bằng cách nhấn Like cho video + Subsricbe để mình có động lực sản xuất ra nhiều video hay hơn ❤.
    ✉ Gmail: TisCheOfficial.sp@gmail.com
    ✉ Facebook: https://www.facebook.com/tischetv
    ✉ Fanpage: http://fb.me/tischeofficial
    ✉ Twitter: https://twitter.com/che_tis
    ⌨ NimoTv: 405652
    ✎ Nếu các bạn có ý tưởng hay, hãy để lại Bình Luận dưới Video nhé.
    ➥ Đăng Ký Kênh Tis Che Official: https://bit.ly/TisCheOfficial
    © Video Copyright by Tis Che Official.

Tạo Facebook Like Box hiệu ứng Popup với bộ đếm thời gian

  • Tác giả: sharecode.vn
  • Đánh giá: 5 ⭐ ( 3956 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Facebook Like Box là một plugin của mạng xã hội Facebook, cho phép người chủ Page có thể thu hút và giành nhiều like từ những nguồn website khác nhau về cho Page của mình.

Facebook và Instagram ra mắt bộ đếm thời gian lướt News Feed: Liệu đã đủ để giúp bạn "cai nghiện"?

  • Tác giả: seea.vn
  • Đánh giá: 5 ⭐ ( 3413 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Facebook sau gần 15 năm hoạt động, thu hút hơn 2 tỷ người dùng cuối cùng cũng không thể làm ngơ trước tình trạng "nghiện"...

Facebook phát minh ra công cụ đếm thời gian mới

  • Tác giả: baokhanhhoa.vn
  • Đánh giá: 4 ⭐ ( 4370 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Flick là "đơn vị thời gian nhỏ nhất lớn hơn nano giây", được xác định bằng 1/705,600,000 giây. Báo Khánh Hòa điện tử, Cơ quan của Đảng Bộ, chính quyền và nhân dân tỉnh Khánh Hòa

Cách Tạo Đồng Hồ Đếm Ngược Trên Facebook Timeline, Phần Mềm Đếm Ngược Thời Gian Trực Tuyến Miễn Phí

  • Tác giả: donghoguess.com
  • Đánh giá: 4 ⭐ ( 9376 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Rõ ràng, nếu điều này xảy ra vào đúng thời điểm người dùng không thể kiểm tra tài khoản Facebook của mình, khi đang đi nghỉ chẳng hạn, khi quay trở lại bạn sẽ thấy không thoải mái, Cứ cho là việc kích hoạt Timeline là bắt buộc và giả sử bạn muốn giữ tài khoản Facebook của mình (nếu không, xem đoạn cuối), vậy thì tốt hơn hết là quản lý mọi việc ngay lập tức

Facebook và Instagram ra mắt bộ đếm thời gian lướt News Feed: Liệu đã đủ để giúp bạn 'cai nghiện'?

  • Tác giả: viettimes.vn
  • Đánh giá: 3 ⭐ ( 3718 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Facebook sau gần 15 năm hoạt động, thu hút hơn 2 tỷ người dùng cuối cùng cũng không thể làm ngơ trước tình trạng 'nghiện' mạng xã hội. Liệu nỗ lực đếm thời gian sử dụng nền tảng của mình đã là đủ để giúp người dùng bớt phụ thuộc vào mạng xã hội?

Hướng dẫn cách tắt thời gian đang hoặc đã online trên Facebook Messenger

  • Tác giả: www.totolink.vn
  • Đánh giá: 4 ⭐ ( 1173 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bạn muốn biết Cách tắt thời gian đang hoặc đã online trên Facebook Messenger được thực hiện như thế nào? Hãy theo dõi bài viết dưới đây để được giải đáp nhé.

Xem thêm các bài viết khác thuộc chuyên mục: Social

Xem Thêm  Phòng âm thanh trực tiếp và Podcast trên Facebook - âm thanh trực tiếp trên facebook